将webpack.config.js放在React项目中的位置?

时间:2018-02-04 14:23:45

标签: javascript node.js reactjs webpack babel

我已经获得了现有的React项目,我应该继续使用它。我之前从未使用过React。我需要在项目中使用Web worker - 这是一个适合我需求的项目:Worker Loader

建议将其添加到webpack.config.js

  module: {
    rules: [
      {
        test: /\.worker\.js$/,
        use: { loader: 'worker-loader' }
      }
    ]
  }

然后使用这样的工人:

import Worker from './file.worker.js';

const worker = new Worker();

但即使我可以看到我的React项目使用webpack和babel作为背景,项目中也没有.babelrcwebpack.config.js。这就是我运行项目的方式:

npm start

根据我在react-scripts start上看到的内容实际运行package.json

  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"
  },

webpack和babel都不属于package.json个依赖项,所以我真的不知道它们是如何由React运行的。如果有人向我解释它是如何工作以及如何配置webpack以使用工作器加载器,我将非常感激。

2 个答案:

答案 0 :(得分:3)

您需要先运行npm run eject

此命令会将所有配置文件复制到项目中(包括webpack.config.js)。但是,只有在必须运行此命令时才会运行此命令,因为虽然您可以完全控制您的配置,但您可以独立完成。 React不再为您管理配置。

答案 1 :(得分:0)

不确定100%,但我认为这个应用程序是使用名为Create React App的react starter kit创建的,它带有一个名为react-scripts的包,它是构建工具的包装器 - webpack就是其中之一。所以在npm中查找那些东西。它可能都会照顾你 另外,看看你在node_modules目录下有什么 - 我猜它就在那里