gpt4 book ai didi

javascript - AWS Elastic Beanstalk - 如何使用 npm 和 webpack 构建捆绑 JS

转载 作者:IT老高 更新时间:2023-10-28 23:21:37 24 4
gpt4 key购买 nike

我在 elasticbeanstalk 上部署了一个 Node js 应用程序。安装并符号链接(symbolic link) Node 、npm 和 webpack。但是在运行 npm run build-prod 时,它本身会调用脚本 webpack --config/var/app/current/webpack.prod.config.js。退出状态为 -2 时出现以下错误。如果我也直接运行 webpack 命令,也会发生同样的情况。我正在寻找解决方案。

[2016-07-26T06:57:36.301Z] INFO  [9731]  - [Application update app-5c81-160726_122417@24/AppDeployStage0/EbExtensionPostBuild/Infra-EmbeddedPostBuild/postbuild_0_site_web/Command 06_npm_run_build_prod] : Activity execution failed, because:
> site-web@1.0.0 build-prod /tmp/deployment/application
> webpack --config /var/app/current/webpack.prod.config.js


npm ERR! Linux 4.4.14-24.50.amzn1.x86_64
npm ERR! argv "/opt/elasticbeanstalk/node-install/node-v4.4.6-linux-x64/bin/node" "/bin/npm" "run" "build-prod"
npm ERR! node v4.4.6
npm ERR! npm v2.15.5
npm ERR! file sh
npm ERR! path sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn sh
npm ERR! site-web@1.0.0 build-prod: `webpack --config /var/app/current/webpack.prod.config.js`
npm ERR! spawn sh ENOENT
npm ERR!
npm ERR! Failed at the site-web@1.0.0 build-prod script 'webpack --config /var/app/current/webpack.prod.config.js'.
npm ERR! This is most likely a problem with the site-web package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! webpack --config /var/app/current/webpack.prod.config.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs site-web
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!
npm ERR! npm owner ls site-web
npm ERR! There is likely additional logging output above.
npm ERR! Linux 4.4.14-24.50.amzn1.x86_64
npm ERR! argv "/opt/elasticbeanstalk/node-install/node-v4.4.6-linux-x64/bin/node" "/bin/npm" "run" "build-prod"
npm ERR! node v4.4.6
npm ERR! npm v2.15.5
npm ERR! code ELIFECYCLE

容器配置文件:

container_commands:
01_node_symlink:
command: "ln -sf `ls -td /opt/elasticbeanstalk/node-install/node-* | head -1`/bin/node /bin/node"

02_npm_symlink:
command: "ln -sf `ls -td /opt/elasticbeanstalk/node-install/node-* | head -1`/bin/npm /bin/npm"

03_npm_install_global_packages:
command: "npm install webpack webpack-cli -g"

04_webpack_symlink:
command: "ln -sf `ls -td /opt/elasticbeanstalk/node-install/node-* | head -1`/bin/webpack /bin/webpack"

#05_webpack_run_build_prod:
#command: "webpack --config /var/app/current/webpack.prod.config.js --progress --colors"

06_npm_run_build_prod:
command: "npm run build-prod"

package.json 中的脚本

"scripts": {
"build": "webpack --config webpack.local.config.js --progress --colors",
"build-local": "webpack --config webpack.prod.config.js --progress --colors",
"build-prod": "webpack --config /var/app/current/webpack.prod.config.js",
"server": "node app.js",
"dev-server": "node dev-app.js"
}

当我取消注释直接运行 webpack 命令的 05 时,它以错误结尾 Error: "/var/app/current/site-web/static/assets/app/index.js"is not in the源 map 。

构建脚本在本地成功,但在生产中的所有方式都被阻止。 无法弄清楚如何在 AWS beanstalk 环境中运行 webpack 命令来构建 JS。构建JS文件不是最理想的方式吗?

Node :4.4.6npm:2.15.5webpack:最新的

最佳答案

我对弹性 beantalk 还很陌生,我自己也有类似的问题,但我注意到您的符号链接(symbolic link) Node 、npm 等任务采用 container_commands 的形式。

According to the official docs , "它们在设置应用程序和 Web 服务器并提取应用程序版本文件之后运行,但在部署应用程序版本之前运行。"

也许尝试使用 commands: 而不是 container_commands:。查看我分享的链接。

也许这些命令在应用程序和 Web 服务器已经设置之后才运行,这就是为什么它可能不适合您的原因?

再说一次,我对 Elastic Beanstalk 还是新手,但也许这会有所帮助。

关于javascript - AWS Elastic Beanstalk - 如何使用 npm 和 webpack 构建捆绑 JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38584787/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com