- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我最近将我的 Angular 应用程序更新到了最新版本。经过一夜的 bug 噩梦之后,除了 HMR 之外,我的一切都正常工作了。我非常坚持它。以下是我根据 Angular CLI wiki 上的 HMR 故事进行的配置:
Angular .json
"build": {
"configurations": {
"hmr": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.hmr.ts"
}
]
}
}
},
"serve": {
"configurations": {
"hmr": {
"hmr": true,
"browserTarget": "appHit:build:hmr"
},
}
},
hmr.js
import { NgModuleRef, ApplicationRef } from '@angular/core';
import { createNewHosts } from '@angularclass/hmr';
export const hmrBootstrap = (module: any, bootstrap: () => Promise<NgModuleRef<any>>) => {
let ngModule: NgModuleRef<any>;
module.hot.accept();
bootstrap().then(mod => ngModule = mod);
module.hot.dispose(() => {
const appRef: ApplicationRef = ngModule.injector.get(ApplicationRef);
const elements = appRef.components.map(c => c.location.nativeElement);
const makeVisible = createNewHosts(elements);
ngModule.destroy();
makeVisible();
});
};
主要.ts
import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app/app.module';
import { environment } from './environments/environment';
import { hmrBootstrap } from './hmr';
if (environment.production) {
enableProdMode();
}
const bootstrap = () => platformBrowserDynamic().bootstrapModule(AppModule);
if (environment.hmr) {
if (module[ 'hot' ]) {
hmrBootstrap(module, bootstrap);
} else {
console.error('HMR is not enabled for webpack-dev-server!');
console.log('Are you using the --hmr flag for ng serve?');
}
} else {
bootstrap().catch(err => console.log(err));
}
我尝试了以下命令:
ng serve --hmr
ng serve --hmr --configuration hmr
ng serve --configuration hmr
一切都在更改时编译,甚至触发的事件都缓存在浏览器中,但在 HMR 记录以下内容后没有任何反应:
[WDS] App updated. Recompiling...
[WDS] App hot update...
此时我完全迷失了。任何形式的帮助将不胜感激。谢谢
最佳答案
我们遇到了同样的问题。它通过删除与 Webpack 相关的开发依赖项并执行全新的 npm 安装来解决。
rm -R package-lock.json node_modules
npm 缓存清理 --force
npm 我
希望对您有所帮助。
关于angular - HMR 没有使用 Angular CLI 更新 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50810102/
HMR API 的 webpack 文档提到了以下方法: accept(dependencies: string[], callback: (updatedDependencies) => void)
这是我页面的初始加载: 在更改了一些文本后,HMR 被激活,但附加 DOM 而不是替换它: 有人知道是什么导致了这个问题吗?控制台上没有错误。 更新: 我在命令行中使用了 ASP.NET Core w
Minimalistic repository for problem testing 我现在有最简单的项目结构: root |-src --|index.pug --|-
我正在尝试运行一个简单的webpack-dev-server,如果相关源JavaScript文件已更改,它会在请求时编译.bundle.js文件。我目前不想启用热模块更换 (HMR)。 我的服务器正在
加载后一切正常,hmr 正在工作。然后就出现这个错误。 GET http://localhost:3000/__webpack_hmr net::ERR_INCOMPLETE_CHUNKED_ENCO
我环顾四周,但无法获得我在 stackoverflow 上看到的任何答案。 我无法使用 webpack 或 webpack dev-server 的命令行;我只能使用 Node API。 下面是我是如
我有一个与 webpack 捆绑在一起的 Express 服务器应用程序。客户端也与 webpack 捆绑在一起,并由服务器在开发模式下使用 webpack-dev-middleware 和 webp
我有使用 Typescript、ReactJS 和 Webpack 构建的前端应用程序。 我正在尝试启用 HMR。 这些是启动脚本 "build": "NODE_ENV=production $(np
有什么方法可以忽略 HMR 上的日志吗?进行多次更改后,这非常烦人,因为控制台变得巨大,而且也很难跟踪自定义日志。 这是执行日志记录的 HMR 模块的 log-apply-result.js 中的代码
我一直在玩弄 Webpack 的不同功能,并且正在慢慢理解。 典型的控制台输出: [WDS] App updated. Recompiling... [WDS] App hot update... [
我已成功设置 HMR,一切正常,包括代理后端站点。剩下的唯一问题是,除非我完全重新加载,否则我无法在浏览器中看到实际的原始代码 (ES2015)。 我是不是漏掉了什么或者这是不可能的?我使用 'che
我想在我的 React 应用程序中使用 Webpack HMR。我的 webpack 配置如下所示: var path = require('path'); var ExtractTextPlugin
我正在使用 webpack-dev-server 进行热模块替换。它工作得很好,但是这个错误每隔几秒就会出现在控制台中:GET http://mysite:8080/__webpack_hmr 404
有人知道当 Webpack 在热模式下运行时如何从 HTML Webpack 插件保存 HTML 页面吗?它在内存中保存文件,我想将它们保存到文件系统中。谢谢。 最佳答案 我用过 html-webpa
一个简单的 webpack 配置但不起作用: var path = require("path"); var HtmlWebpackPlugin = require('html-webpack-plu
我目前正在使用带有 ngrx 的 angular-cli 项目 (1.0.0-beta.25.5) 来管理状态。我关注了this article并设法让热模块更换正常工作,但是我还没有找到一种方法来在
我从 Webpack 收到以下错误: 无效的 HMR 消息后跟一串非常详细的 JSON。 我真的找不到任何资源来更好地调试它。有什么建议吗? 如果有人能告诉我为什么在整个应用程序中使用 require
我正在尝试新的 bun平台 (v0.1.6) 与 Hono . 我遵循的步骤: bun create hono test-api cd test-api bun dev 然后服务器显示这条信息: $
我正在尝试设置 webpack 的开发服务器和 HMR 以与 Shopify 主题开发一起使用。运行服务器并打开本地 IP 时,我从 Shopify 的 DNS 提供商 CloudFlare 收到此错
我试图让 HMR 与 webpack v5 一起运行,但它不起作用。当我修改并保存文件时,webpack 会正确重新编译项目,但前端没有更新。 我阅读了这篇文章并按照说明操作:https://webp
我是一名优秀的程序员,十分优秀!