angular 2 个模板文件上的 Webpack 开发服务器 livereload

Webpack dev server livereload on angular 2 template files

https://github.com/Kaffesumpen/keoom-angular

这是我的 git 回购协议,如果有人想看的话。


大家好,当我更新我的 Angular 2 应用程序中的 html 和 css/sass 模板文件时,我试图让我的 webpack-dev-server 进行实时重新加载。 目前,当我更改项目中的任何 ts 文件或 index.html 文件时,它会重新加载。 我如何告诉 Webpack 开发服务器也对模板文件进行实时重新加载?我现在说的模板文件是组件元描述中的templateUrl和StyleUrls。

app.component.ts

import { Component } from '@angular/core';

@Component({
  selector: 'app',
  templateUrl : './src/app/header/header.component.html',
  styleUrls: ['./src/app/header/header.component.css']

})
export class AppComponent { }

webpack.config.js

let webpack = require('webpack');
let HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
  devtool: "cheap-module-eval-source-map",
  watch: true,
  entry: "./src/main",
  output: {
    path: './dist',
    filename: "app.bundle.js"
  },
  resolve: {
    extensions: ['', '.js', '.ts']
  },
  module: {
    loaders: [
      {
      test: /\.ts/, loader: 'awesome-typescript-loader!angular2-template'
      },
      {
      test: /\.html$/, loaders: ['html-loader']
      }
    ]
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: './src/index.html'
    })

  ]
};

Bash命令我运行启动服务器

 webpack-dev-server --inline

所以我终于找到了这个错误,你使用的是导致这个问题的 awesome-typescript-loader 的不同旧版本。它从未编译过你的

templateUrl: "./header/header.template.html"

 templateUrl: require("./header/header.template.html")

为了 webpack 可以对更改做出反应并重新加载

改为

"awesome-typescript-loader": "^2.1.1"

将解决您的问题