我有兴趣在Windows上学习Django + ReactJS,所以我一步一步地遵循tutorial。
现在,我正处于捆绑阶段。当我运行我的捆绑器作为快速健全性检查时:
$ node_modules/.bin/webpack --config webpack.dev.config.js
我得到node_modules is not recognized as a windows command
。在尝试不同的解决方案后,我发现在node
命令前面使用webpack
命令正在执行webpack。
这样做似乎启动webpack
,但我收到此错误:
$ node node_modules/.bin/webpack --config webpack.dev.config.js
\node_modules\.bin\webpack:2
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
^^^^^^^
SyntaxError: missing ) after argument list
at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:139:10)
at Module._compile (module.js:599:28)
at Object.Module._extensions..js (module.js:646:10)
at Module.load (module.js:554:32)
at tryModuleLoad (module.js:497:12)
at Function.Module._load (module.js:489:3)
at Function.Module.runMain (module.js:676:10)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:608:3
由于package.json会出现这个错误吗?
答案 0 :(得分:2)
本教程中提供的命令适用于基于Unix的系统,但您使用的是Windows。打开你的node_modules / .bin文件夹,注意实际上有两个文件:webpack(Unix)和webpack.cmd(Windows)。
处理这种差异的最简单方法是让Node Package Manager(NPM)自动检测系统并为我们运行正确的二进制文件。要使用该功能,请在package.json中创建脚本字段:
"scripts": {
"webpack": "webpack --config ./webpack.config.js"
}
这是语法解释:
"scripts": {
"SCRIPT_NAME": "BINARY_NAME attributes"
}
然后你可以这样使用它:
npm run webpack
您可以在NPM run-script documentation中阅读更多内容。