由于SyntaxError

时间:2017-12-10 21:55:33

标签: django reactjs npm webpack bundler

我有兴趣在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会出现这个错误吗?

1 个答案:

答案 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中阅读更多内容。