gpt4 book ai didi

angular - 如何使用 angularCLI 停止对 Angular2 中的所有文件执行实时重新加载?

转载 作者:太空狗 更新时间:2023-10-29 19:30:36 25 4
gpt4 key购买 nike

环境:

Angular 2.0.0(通过带有 Webpack 的 Angular CLI Beta 15 构建)

问题:

无法关闭live-reload。我的应用程序涉及多个需要将文件上传到服务器和/或进行操作的区域。每次发生这些操作时,我的应用程序都会重新启动,这使得测试和继续开发几乎不可能。

理想分辨率:

我真的很想找到一种方法来禁用实时重新加载。如果使用 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 有效,如果我导航到我的 Assets 路线,我会在浏览器中看到 http://172.16.1.213:4200/assets。但是如果我把 http://172.16.1.213:4200/assets 放在直接打开浏览器并按回车键,我得到“无法获取 Assets ”)

此外,如果我以这种方式在启动时向应用程序上传新的图像或视频,则在刷新之前我无法看到图像或视频。

我的猜测是,这是因为 Webpack 的性质想要捆绑所有这些图像/视频。当需要一直上传新文件时,我只是很困惑这如何在生产中工作

最佳答案

一个简单的节点应用程序可以提供 Angular-cli/dist 内容。

  1. 将以下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);
    });
  2. 安装expressjs

    npm i express
  3. 构建您的应用*

    ng build
  4. 启动服务器

    node server.js
    • 每次完成加载时重复第 3 步。

关于angular - 如何使用 angularCLI 停止对 Angular2 中的所有文件执行实时重新加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39840993/

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