由于 SyntaxError,Webpack 无法打包

Webpack unable to bundle due to SyntaxError

我在 Windows 上对学习 Django + ReactJS 很感兴趣,所以我一步步跟着这个 tutorial

现在,我正处于捆绑阶段。当我 运行 我的捆绑器作为快速完整性检查时:

$ node_modules/.bin/webpack --config webpack.dev.config.js

我得到 node_modules is not recognized as a windows command。在尝试了不同的解决方案后,我发现在webpack命令前面使用node命令是在执行webpack。

这样做似乎可以启动 webpack 但我收到此错误:

$ node node_modules/.bin/webpack --config webpack.dev.config.js

\node_modules\.bin\webpack:2
basedir=$(dirname "$(echo "[=11=]" | 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 造成的错误吗?

本教程中提供的命令适用于基于 Unix 的系统,但您使用的是 Windows。打开你的 node_modules/.bin 文件夹,注意实际上有两个文件:webpack (Unix) 和 webpack.cmd (Windows).

处理这种差异的最简单方法是让节点包管理器 (NPM) 自动检测系统并 运行 为我们更正二进制文件。要使用该功能,请在 package.json:

中创建脚本字段
"scripts": {
   "webpack": "webpack --config ./webpack.config.js"
 }

语法解释如下:

"scripts": {
   "SCRIPT_NAME": "BINARY_NAME attributes"
}

那你可以这样用:

npm run webpack 

您可以在 NPM run-script documentation 中阅读更多内容。