环境:
Angular 2.0.0(通过Angular CLI Beta 15和Webpack构建)
问题:
无法关闭 实时重新加载 。我的应用程序涉及多个区域,其中文件需要上传到服务器,和/或被操纵。每次发生这些操作时,我的应用程序都会重新启动,几乎无法测试并继续开发。
理想解决方案:
我真的想找到一种方法来禁用实时重新加载。如果使用AngularCLI是不可能的,我需要知道在没有CLI的情况下重建应用程序是值得的。
Pre-Webpack(使用AngularCLI Beta 10)我曾经能够通过使用此命令运行angular来防止此问题:
来自 package.json
"angular-start": "ng serve --live-reload false",
这不再适用于当前版本的Angular CLI。
更新
除了一个小问题外,接受的答案很好。出于某种原因,当应用程序以这种方式启动时,我无法直接加载页面(即http://172.16.1.213:4200有效,如果我导航到我的资产路径,我会在浏览器中看到http://172.16.1.213:4200/assets。但是如果我直接在浏览器中输入http://172.16.1.213:4200/assets并点击输入我得到"无法获取资产")
此外,如果我以这种方式发布新的图片或视频到应用程序,我无法看到图像或视频,直到刷新。
我的猜测是,这是因为Webpack的性质想要捆绑所有这些图像/视频。我很困惑,当需要一直上传新文件时,这在生产中是如何工作的
答案 0 :(得分:1)
简单的节点应用可以提供Angular-cli / dist内容。
将以下server.js
放入项目文件夹
const port = 4000;
const ip = "0.0.0.0";
const dist = __dirname + '/dist';
// Express
const express = require('express');
express()
// Static content
.use(express.static(dist))
// SPA routing
.get('/*', (req, res) => res.sendFile(__dirname, '/dist/index.html'))
// Start server
.listen(port, ip, function () {
console.log(ip + ':' + port);
});
安装expressjs
npm i express
构建您的应用*
ng build
启动服务器
node server.js
答案 1 :(得分:0)
此标志未在webpack版本中实现,请参阅https://github.com/angular/angular-cli/issues/1755。