node.js - 跨环境/dist/index.js :42 unexpected token }

标签 node.js laravel npm

一些背景知识:我正在开发 Laravel 5 应用程序。我正在使用 Homestead(使用 Vagrant/VirtualBox)在 Windows 7 上进行本地开发,并通过 CodePipeline 部署到 Amazon EC2 实例。

在尝试让 Laravel Mix 在本地工作时,我一直遇到各种错误,最终导致我找到了全局安装 cross-env 的解决方案,而不是将其包含在 package.json 的 devDependencies 中>。当然,这也意味着我的 Amazon 部署也需要更新为该设置。除了解释在我的部署中全局安装了 cross-env 之外,这些都没有真正相关,以防相关。

我的package.json:

{
    "private": true,
    "scripts": {
        ...
        "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
    },
    "devDependencies": {
        "axios": "^0.16.2",
        "bootstrap-sass": "^3.3.7",
        "jquery": "^3.1.1",
        "laravel-mix": "^1.0",
        "lodash": "^4.17.4",
        "vue": "^2.1.10"
    }
}

我在 npm run production 上部署到 AWS 失败并出现以下错误:

[stderr]/usr/lib/node_modules/cross-env/dist/index.js:42
[stderr]    });
[stderr]    ^
[stderr]SyntaxError: Unexpected token }

是什么导致了这个问题?我该如何解决?我非常怀疑 cross-env 中实际上存在语法错误。

最佳答案

我遇到了同样的问题,我可以通过更新 Node 并重新安装 npm 来解决它。

对我有用的步骤:

使用包管理器更新 Node :

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

然后全新安装:

rm -rf node_modules && npm cache clean --force && npm install

希望对你有帮助

关于node.js - 跨环境/dist/index.js :42 unexpected token },我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47730815/

相关文章:

javascript - AngularJS 中的 if/else 语句

javascript - 调用 html 元素并在 JavaScript 中对其进行操作

javascript - js中数组的迭代

php - 在 Laravel 4.2 中上传文件时使用 Input::all()

php - 捕获或修改 Laravel 的错误页面?

使用 npm 和 grunt 进行开发和生产的 Javascript 元素结构

angular - Angular2 的查询生成器

javascript - Openshift 和带有 node-mysql 的外部 mysql 数据库(错误 : connect ECONNREFUSED )

php - 拉拉维尔 5.3。生产环境如何配置?

node.js - 在 debian 中安装 Node js 时出错