摘要:提供以上熱更新功能使用初始化項目命令行進入該目錄啟動項目將附帶功能。
??提供angular6以上HMR(熱更新)功能
使用hmr-clinpm i -g hmr-cli
??初始化angular項目,命令行進入該目錄
hmr init
??npm run hmr啟動項目將附帶hmr功能。
詳細配置如下: Angular6添加HMR environments目錄environments.ts和environment.prod.ts增加hmr: false
export const environment = { hmr: false };
復(fù)制environment新增environment.hmr.ts修改hmr:true
export const environment = { hmr: true };.angular.json文件
build的configurations中添加
"hmr": { "fileReplacements": [ { "replace": "src/environments/environment.ts", "with": "src/environments/environment.hmr.ts" } ] }
serve的configurations中添加
"hmr": { "hmr": true, "browserTarget": "my-app:build:hmr" }tsconfig.app.json的compilerOptions的types中添加
"types": ["node"]package.json的scripts中添加
"hmr": "ng serve --configuration hmr --open"安裝依賴
npm install --save-dev @angularclass/hmrsrc目錄下創(chuàng)建hmr.ts
import { NgModuleRef, ApplicationRef } from "@angular/core"; import { createNewHosts } from "@angularclass/hmr"; export const hmrBootstrap = (module: any, bootstrap: () => Promise修改main.ts>) => { let ngModule: NgModuleRef ; 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(); }); };
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)); }Angular5添加HMR environments目錄
environments.ts和environment.prod.ts增加hmr: false
export const environment = { hmr: false };
復(fù)制environment新增environment.hmr.ts修改hmr:true
export const environment = { hmr: true };.angular-cli.json的environments中添加
"hmr": "environments/environment.hmr.ts"在package.json的scripts中增加
"hmr": "ng serve --hmr -e=hmr --open"安裝依賴
npm install --save-dev @angularclass/hmrsrc目錄下創(chuàng)建hmr.ts
import { NgModuleRef, ApplicationRef } from "@angular/core"; import { createNewHosts } from "@angularclass/hmr"; export const hmrBootstrap = (module: any, bootstrap: () => Promise修改main.ts>) => { let ngModule: NgModuleRef ; 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(); }); };
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)); }
???問道Angular系列???
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/98247.html
摘要:參照組件單一職責(zé),單個模塊文件僅承擔(dān)有限職責(zé),。路由聲明與組件聲明在統(tǒng)一文件內(nèi)部聲明。組件替換約定服務(wù)在內(nèi)部屬于單例,實例聲明通過的方式,聲明服務(wù)。指令熱替換同樣采用較為粗放的容器定位策略,通過路由模板替換實現(xiàn)。 ng-hot-loader 前言 webpack-dev-server自帶支持模塊熱替換特性(HMR),不刷新頁面實現(xiàn)代碼局部更新,使用HMR可以大幅提升開發(fā)效率。 實現(xiàn)目標(biāo)...
摘要:原理探索前言在開始本文前,先簡單說下我們在開發(fā)項目中,本地的服務(wù)究竟扮演的是什么樣的角色。這無疑是閹割了一大部分功能綜上,如果僅僅用于切圖,可能不會有那么多的問題 ReactNative-HMR原理探索 前言 在開始本文前,先簡單說下我們在開發(fā)RN項目中,本地的node服務(wù)究竟扮演的是什么樣的角色。在我們的RN APP中有配置本地開發(fā)的地方,只要我們輸入我們本地的IP和端口號8081就...
摘要:在過程中會利用簡稱中的兩個方法和。是通過請求最新的模塊代碼,然后將代碼返回給,會根據(jù)返回的新模塊代碼做進一步處理,可能是刷新頁面,也可能是對模塊進行熱更新。該方法返回的就是最新值對應(yīng)的代碼塊。 Hot Module Replacement(簡稱 HMR) 包含以下內(nèi)容: 熱更新圖 熱更新步驟講解 showImg(https://segmentfault.com/img/remote...
摘要:更新已經(jīng)到了這里添加更新說明并說明結(jié)合使用的簡要步驟參考資料環(huán)境在中添加中的設(shè)置的要設(shè)置為要在你的應(yīng)用程序入口之前添加如下在有完整的配置入口文件要這樣導(dǎo) 2018-01-10 更新 Webpacket 已經(jīng)到3了, 這里添加更新說明,并說明結(jié)合babel-loader使用的簡要步驟 參考資料 https://doc.webpack-china.org... https://githu...
摘要:在前后端分離的前端項目開發(fā)中經(jīng)常用到。是的一個中間件。即是一個重要的功能。配置先來在配置文件中引入添加一個和通信的客戶端添加應(yīng)用入口文件在插件中引入在我們的開發(fā)環(huán)境中是這樣配置的。 原文鏈接此文是我同事寫的,搭建Express結(jié)合Webpack。以下是正文,后面我會附上我的解讀 Express 結(jié)合 Webpack 實現(xiàn)HMR 本篇文件主要講結(jié)合 Webpack 和 Express 實...
閱讀 927·2021-09-09 09:32
閱讀 2904·2021-09-02 10:20
閱讀 2721·2021-07-23 11:24
閱讀 839·2019-08-30 15:54
閱讀 3645·2019-08-30 15:54
閱讀 1355·2019-08-30 11:02
閱讀 2860·2019-08-26 17:40
閱讀 1139·2019-08-26 13:55