2017-02-10 44 views
2

我正在尝试在Visual Studio 2015中集成Angular 2与HMR。我有2个项目具有相同的文件内容和相同的目录结构,并且都使用HMR与Angular 2。每个项目的HMR查找不同的更新包。即对于App1的,它查找打字稿文件(和JS还没有VS为他们产生的),如:Webpack 1.x热更换模块不更新

enter image description here

具有模块A取决于B,和B在C.如果C被更新,整个捆绑包得到更新,效果很好。

但在应用2,它看起来1个打字稿文件main.ts和2个的Javascript文件,如:

如果C被更新,该模块没有得到更新,除非我明确修改C'S JavaScript文件(生成由VS建立)!

enter image description here

如何判断的WebPack HMR寻找这些打字稿文件,如果我改变了其中的任何更新包。

webpack.config.js相同像两个项目:

var path = require('path'); 
var webpack = require('webpack'); 

module.exports = { 
resolve: { extensions: [ '', '.js', '.ts' ] }, 
entry: { 'main-client': './ClientApp/main.ts' }, 
output: { 
    filename: '[name].js', 
    path: path.join(__dirname, './wwwroot/dist'), 
    publicPath: '/dist/' 
}, 
module: { 
    loaders: [ 
     { test: /\.ts$/, include: /ClientApp/, loader: 'ts' }, 
     { test: /\.html$/, loader: 'raw' } 
    ] 
} 
}; 

回答

0

我有同样的问题,并通过在main.ts.使HMR固定它

import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; 
import { enableProdMode } from '@angular/core'; 
import { AppModule } from './app/app.module'; 

// Enables Hot Module Replacement. 
declare var module: any; 
if (module.hot) { 
    module.hot.accept(); 
} 

platformBrowserDynamic().bootstrapModule(AppModule); 
相关问题