当我写网页时.配置.像这样

module.exports = {
  entry: './index.jsx',
  output: {
    filename: 'bundle.js'
  },
  module: {
    loaders: [{
      test: /\.jsx?$/,
      exclude: /node_modules/,
      loader: 'babel',
      query: {
        presets: ['es2015', 'react']
      }
    }]
  }
};

index.jsx中,我导入react模块App

import React from 'react';
import { render } from 'react-dom';

import App from './containers/App';

let rootElement = document.getElementById('box')
render(
  <App />,
  rootElement
)

我发现如果我在App.jsx中命名了模块应用程序,那么网页将在index.jsx中显示找不到模块App,但如果我在App.js中命名了模块应用程序,它将找到该模块并运行良好.

所以,我对此感到困惑.在我的webpack.config.js中,我写了test: /\.jsx?$/来判断文件,但为什么找不到*.jsx呢?

enter image description here

推荐答案

Webpack不知道隐式解析.jsx个文件.您可以在应用程序中指定文件扩展名(import App from './containers/App.jsx';).当前的加载程序测试要求在显式导入具有jsx扩展名的文件时使用babel加载程序.

或者,您可以在webpack应该解析的扩展中包含.jsx个扩展,而无需明确声明:

module.exports = {
  entry: './index.jsx',
  output: {
    filename: 'bundle.js'
  },
  module: {
    loaders: [{
      test: /\.jsx?$/,
      exclude: /node_modules/,
      loader: 'babel',
      query: {
        presets: ['es2015', 'react']
      }
    }]
  },
  resolve: {
    extensions: ['', '.js', '.jsx'],
  }
};

对于Webpack 2,请不要使用空分机.

resolve: {
  extensions: ['.js', '.jsx']
}

Reactjs相关问答推荐

在一个地方调用函数会影响其他地方调用该函数

有没有方法覆盖NextJS 14中的布局?

单击按钮时在子元素中不显示任何内容-react

将对象添加到集合中的数组时的no_id字段

将动态元素中的输入数据传输到Reaction

react -无法获取函数的最新参数值

无法在 NextJS 中获取嵌套对象

在 React 中,如何在指向同一组件的路由中拥有未定义数量的多个动态路径段?

尽管所有页面在 Reactjs 中都是公开的,但始终导航到特定页面

在react 中单击父级中的按钮时如何将数据从子级发送到父级?

下一个js如何从另一个组件更新组件?

如何在不重新加载页面的情况下加载新添加的数据?

如何在 React 中使用 debounce hooks

如何使用 React Hook Form 将寄存器作为 props 发送到子组件来收集数据?

vdom 最终更新了 dom(在比较之后)任何 dom 更改实际上应该触发整个树的重绘和回流,那么 vdom 有什么用?

为什么我在运行一些 npm react 命令时会收到这些警告?

React LinkProps 的含义

CORS 政策:无访问控制允许来源-AWS 和 Vercel

如何在按钮左下角制作 Material UI 菜单下拉菜单

material uireact ,如何从表格中删除阴影?试图找到 api 但找不到正确的属性