当我将$ 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"
}
}
答案 0 :(得分:0)
嗯,看起来在命令行上运行“webpack”正在调用一个不同的工具(也许是“webpacker”?https://github.com/rails/webpacker)
有两种方法可以解决这个问题:
向package.json添加一个额外的script
以启动webpack。
"scripts": {
"build": "webpack -p"
},
添加上述内容后,在终端中执行此命令:npm run build
。
当通过npm run
执行脚本时,npm
会在其PATH中自动包含二进制文件(如webpack
),因此脚本使用属于应用程序一部分的webpack二进制文件开发依赖项。点击此处了解更多信息:https://docs.npmjs.com/cli/run-script。
webpack
:npm install -g webpack
。 这将使webpack
在所有情况下都可以在命令行中使用,这允许开发人员只需键入webpack
并让它运行。这应该(?)覆盖现有的“webpacker”命令。如果没有,您可能需要卸载该工具或修改您的路径。
全局安装npm软件包是方便的,但它可能会引起麻烦。例如,如果两个不同的项目需要两个不同版本的webpack
,则可能效率不高。此外,您可能会发现,一旦应用程序变得更复杂,“构建”中有几个步骤可以执行,因此在项目中包含一个方便的脚本可能很有吸引力(特别是对于有多个开发人员的项目)。
希望这有帮助!