【问题标题】:Webpack unable to bundle due to SyntaxError由于 SyntaxError,Webpack 无法捆绑
【发布时间】:2018-05-24 10:36:36
【问题描述】:

我对在 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 "$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 导致的错误吗?

【问题讨论】:

    标签: django reactjs npm webpack bundler


    【解决方案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 run-script documentation阅读更多内容。

    【讨论】:

    • 我们遇到了同样的问题,这就是答案。谢谢。
    猜你喜欢
    • 2017-10-15
    • 1970-01-01
    • 2019-01-02
    • 1970-01-01
    • 2017-09-03
    • 2020-05-25
    • 2017-08-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多