如何使用 angularCLI 停止对 Angular2 中的所有文件执行实时重新加载?
How can I stop live-reload from executing on all files in Angular2 with angularCLI?
环境:
Angular 2.0.0(通过 Angular CLI Beta 15 和 Webpack 构建)
问题:
无法关闭 live-reload。我的应用涉及多个领域,需要将文件上传到服务器,and/or进行操作。每次发生这些操作时,我的应用程序都会重新启动,这使得测试和继续开发几乎不可能。
理想分辨率:
我真的很想找到一种方法来禁用实时重新加载。如果使用 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 works, and if I navigate to my assets route I see http://172.16.1.213:4200/assets in the browser. But if I put http://172.16.1.213:4200/assets 并按回车键我得到 "Cannot get assets" )
另外,如果我以这种方式在启动时向应用程序上传新的图片或视频,则需要刷新才能看到图片或视频。
我的猜测是,这是因为 Webpack 的性质想要捆绑所有这些 images/videos。当需要一直上传新文件时,我只是很困惑这如何在生产中工作
此标志未在 webpack 版本中实现,请参阅 https://github.com/angular/angular-cli/issues/1755。
一个简单的节点应用程序可以服务 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
- 每次加载完成都重复步骤 3。
环境:
Angular 2.0.0(通过 Angular CLI Beta 15 和 Webpack 构建)
问题:
无法关闭 live-reload。我的应用涉及多个领域,需要将文件上传到服务器,and/or进行操作。每次发生这些操作时,我的应用程序都会重新启动,这使得测试和继续开发几乎不可能。
理想分辨率:
我真的很想找到一种方法来禁用实时重新加载。如果使用 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 works, and if I navigate to my assets route I see http://172.16.1.213:4200/assets in the browser. But if I put http://172.16.1.213:4200/assets 并按回车键我得到 "Cannot get assets" )
另外,如果我以这种方式在启动时向应用程序上传新的图片或视频,则需要刷新才能看到图片或视频。
我的猜测是,这是因为 Webpack 的性质想要捆绑所有这些 images/videos。当需要一直上传新文件时,我只是很困惑这如何在生产中工作
此标志未在 webpack 版本中实现,请参阅 https://github.com/angular/angular-cli/issues/1755。
一个简单的节点应用程序可以服务 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
- 每次加载完成都重复步骤 3。