webpack terminal命令导致找不到/config/webpack/development.js

时间:2018-01-03 22:34:50

标签: node.js reactjs webpack babel

当我将$ webpack输入终端时,我收到以下错误:

  

webpack配置   /Users/kristenmkulha/Desktop/react-help-queue/config/webpack/development.js   没找到,请运行'捆绑exec rails webpacker:安装'安装   Webpacker默认配置或添加丢失的配置文件为您的   自定义环境。

我在此处发现了类似的问题:Webpack command in node brings /config/webpack/development.js not found并将已弃用的babel-preset-es2015更改为babel-preset-env,并且我已经有了-loader后缀。这些更新仍然会导致相同的错误。

这是我的webpack.config.js:

const webpack = require('webpack');
const { resolve } = require('path');


module.exports = {

  entry: [
    resolve(__dirname, "src") + "/index.jsx"
  ],

  output: {
    filename: 'app.bundle.js',
    path: resolve(__dirname, 'build')
  },

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

  module: {
    rules: [
      {
        test: /\.jsx?$/,
        loader: "babel-loader",
        options: {
          presets: [
            "env",
            "react"
          ]
        }
      },
    ],
  }
};

这是我的package.json文件:

  {
      "name": "react-help-queue",
      "version": "1.0.0",
      "description": "",
      "main": "index.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      "author": "",
      "license": "ISC",
      "dependencies": {
        "react": "^15.5.4",
        "react-dom": "^15.5.4"
      },
      "devDependencies": {
        "babel-core": "^6.24.1",
        "babel-loader": "^7.0.0",
        "babel-preset-env": "^1.6.1",
        "babel-preset-react": "^6.24.1",
        "webpack": "^3.8.1"
      }
    }

1 个答案:

答案 0 :(得分:0)

嗯,看起来在命令行上运行“webpack”正在调用一个不同的工具(也许是“webpacker”?https://github.com/rails/webpacker

有两种方法可以解决这个问题:

  1. 向package.json添加一个额外的script以启动webpack。

    "scripts": {
      "build": "webpack -p"
    },
    
  2. 添加上述内容后,在终端中执行此命令:npm run build

    当通过npm run执行脚本时,npm会在其PATH中自动包含二进制文件(如webpack),因此脚本使用属于应用程序一部分的webpack二进制文件开发依赖项。点击此处了解更多信息:https://docs.npmjs.com/cli/run-script

    1. 全球安装webpacknpm install -g webpack
    2. 这将使webpack在所有情况下都可以在命令行中使用,这允许开发人员只需键入webpack并让它运行。这应该(?)覆盖现有的“webpacker”命令。如果没有,您可能需要卸载该工具或修改您的路径。

      全局安装npm软件包是方便的,但它可能会引起麻烦。例如,如果两个不同的项目需要两个不同版本的webpack,则可能效率不高。此外,您可能会发现,一旦应用程序变得更复杂,“构建”中有几个步骤可以执行,因此在项目中包含一个方便的脚本可能很有吸引力(特别是对于有多个开发人员的项目)。

      希望这有帮助!

相关问题