加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Angular cli:准备好生产

发布时间:2020-12-17 18:01:02 所属栏目:安全 来源:网络整理
导读:我编写了我的第一个Angular 2应用程序,我想把它放到测试服务器上. 我最近将它转换为Angular-cli项目并使用以下命令构建它: ng build --prod 根据我的理解,我应该能够将“/ dist”文件夹的内容粘贴到测试服务器上并运行它 ng serve 但是,如果“/ dist”文件
我编写了我的第一个Angular 2应用程序,我想把它放到测试服务器上.

我最近将它转换为Angular-cli项目并使用以下命令构建它:

ng build --prod

根据我的理解,我应该能够将“/ dist”文件夹的内容粘贴到测试服务器上并运行它

ng serve

但是,如果“/ dist”文件夹可以独立运行,为什么我无法在我的电脑上作为独立应用程序运行它(即,我无法将dist文件夹的内容复制到PC上的另一个位置并运行它.)

这实际上是我将要放到测试/生产服务器上的第一个应用程序,所以如果我问的是愚蠢的话,请耐心等待.

解决方法

您不应该,我认为不能,使用ng服务来发布您的构建.使用ng build创建的文件可以上传到Web服务器并从那里提供服务.

>运行ng build -e = prod –prod –no-sourcemap –aot

虽然最新版本的angular-cli默认没有源图,但值得注意. -e = prod将确保它使用环境文件夹中定义的生产环境.最后一件事是–aot.如果你的项目中没有特殊的东西,那么很有可能你可以使用提前编译器进行预编译.但是,您可能遇到问题,您可以使用ng serve –aot解决这些问题,或者完全删除–aot.

>然后,您可以继续将dist文件夹的内容复制到您的网络服务器.值得注意的是,您应确保服务器上的所有非现有文件请求都将重定向到index.html,并且指向您的应用程序的URL位于根目录中.

这意味着对于例如nginx的index.html重定向,您可以将其放在服务器配置块中:

location / {
  try_files $uri $uri/ /index.html;
}

这是因为www.example.com服务于dist文件夹内创建的index.html.如果由于某种原因您想从子文件夹(例如www.example.com/subfolder)提供应用程序,那么您应该修改< base>生成的index.html内的标记指向此子文件夹.

如果要在本地测试生产版本,可以选择安装lite-server.

npm install -g lite-server

然后在控制台中导航到path / to / project / root / dist,并运行lite-server.这将创建一个Web服务器并打开您的浏览器,并提供生成的index.html

如果你使用nginx并希望很酷并静态地提供生成的.gz文件,你可以将它放在你的nginx gzip配置中:

gzip on;
gzip_static on;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读