由于 SyntaxError,Webpack 无法打包

IT技术 django reactjs npm webpack bundler
2021-05-07 01:05:46

我对在 Windows 上学习 Django + ReactJS 很感兴趣,所以我跟着这个循序渐进的教程

现在,我处于捆绑阶段。当我运行我的打包器作为一个快速的健全性检查时:

$ 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个回答

教程中提供的命令适用于基于 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 运行脚本文档中阅读更多内容