Deployment 发布Angular 2应用程序(部署)
最后,我完成了angular 2应用程序的难点部分,我希望看到它在服务器上实时运行 我有Linux网站托管我正在托管PHP和SQL网站,我想知道如何托管angular 2应用程序,因为我正在使用Deployment 发布Angular 2应用程序(部署),deployment,amazon-ec2,angular,Deployment,Amazon Ec2,Angular,最后,我完成了angular 2应用程序的难点部分,我希望看到它在服务器上实时运行 我有Linux网站托管我正在托管PHP和SQL网站,我想知道如何托管angular 2应用程序,因为我正在使用npm start运行它 有人告诉我AmazonEC2,但我不确定它是如何工作的,因为它是我第一次托管这样的应用程序 我读了这篇文章:注意到我需要用JSPM(?)编译我的应用程序,并以某种方式使用它。所以我试着用它。它在我的应用程序根目录中创建了jspm_packages文件夹,但我不知道它意味着什么,也
npm start
运行它
有人告诉我AmazonEC2,但我不确定它是如何工作的,因为它是我第一次托管这样的应用程序
我读了这篇文章:注意到我需要用JSPM(?)编译我的应用程序,并以某种方式使用它。所以我试着用它。它在我的应用程序根目录中创建了jspm_packages
文件夹,但我不知道它意味着什么,也不知道如何使用它
- 有关于如何使用网络托管或Amazon EC2发布我的应用程序的帮助吗?我可以允许其他人查看和使用我的应用程序的任何其他方式?我的应用程序是Angular2和Laravel作为后端
- 使用Gulp或其他工具(如Webpack/JSPM)打包您的应用程序。在吞咽的情况下,请参见此问题:
- 在静态web服务器中上载相应的文件
例如,对于第二步,服务器可以托管在EC2上。但您可以注意到,您甚至可以在Github上用gh页面托管它。我认为此链接可以帮助您:。事实上,这取决于您的需要……如果您指的是elastic beanstalk nodejs ec2,那么这个答案对您来说是最好的,因为我花了一段时间才弄明白,但结果比我想象的要简单:
/usr/bin/env:node:没有此类文件或目录问题
.ebextensions/angular2deployment.config
files:
"/opt/elasticbeanstalk/env.vars" :
mode: "000775"
owner: root
group: users
content: |
export NPM_CONFIG_LOGLEVEL=error
export NODE_PATH=`ls -td /opt/elasticbeanstalk/node-install/node-* | head -1`/bin
"/opt/elasticbeanstalk/hooks/appdeploy/pre/50npm.sh" :
mode: "000775"
owner: root
group: users
content: |
#!/bin/bash
. /opt/elasticbeanstalk/env.vars
function error_exit
{
eventHelper.py --msg "$1" --severity ERROR
exit $2
}
#install not-installed yet app node_modules
if [ ! -d "/var/node_modules" ]; then
mkdir /var/node_modules ;
fi
if [ -d /tmp/deployment/application ]; then
ln -s /var/node_modules /tmp/deployment/application/
fi
OUT=$([ -d "/tmp/deployment/application" ] && cd /tmp/deployment/application && $NODE_PATH/node $NODE_PATH/npm install 2>&1) || error_exit "Failed to run npm install. $OUT" $?
echo $OUT
"/opt/elasticbeanstalk/hooks/configdeploy/pre/50npm.sh" :
mode: "000666"
owner: root
group: users
content: |
#no need to run npm install during configdeploy
node\u模块
和dist
文件夹(如果有),这两个模块都不需要npm install&&npm start
(此步骤必须成功),注意我使用的是angular2的默认package.json
节点_模块
.ebextensions
),然后压缩它们,不要压缩顶部文件夹(部署时将有子目录,这将中断部署)YemuZip
附加说明:EC2 elastic beanstalk将运行
npm install
和npm start
,这就是为什么我建议运行它们并确保它们在您的本地环境中正常运行的原因谢谢,但我到底需要将什么文件上载到我的服务器?在您的指南中,我生成了一个dist文件夹,其中包含app.min.js
、vendor和index.html。每次.ts文件更新后我是否需要再次吞咽它们?您需要上传dist
文件夹的内容。是的,您需要在每次更新后再次执行gulp。。。