Webpackを使用してAngular 2 AOTアプリケーションを構築しています(下記の設定を参照)。私がちょうど実行するときwebpack
すべて正常に動作します。 webpack-dev-server
を使用すると、最初のページの読み込みには問題ありませんが、その時からバンドルは常に1つ古いバージョンです。webpack-dev-serverは1バージョンのバンドルを提供します
たとえば、<h1>hello</h1>
を含むAngularコンポーネントテンプレートを使用してサーバーを起動すると、「hello」が予想通りに表示されます。テンプレートを<h1>hello world</h1>
に変更すると、ページはリロードされますが、「hello」だけが読み取られます(コンソールには[WDS] Nothing changed.
と表示されます)。を再度から<h1>goodbye world</h1>
に変更すると、ページはリロードされますが、前のリロード時に持っています。
index.html
(この場合でもhtml-webpack-plugin
を使用していますが)では、この遅延はTypeScriptファイルとAngularテンプレート(TypeScriptファイルにコンパイルされている)でのみ発生します。また、webpack --watch
では発生せず、webpack-dev-server
でのみ発生します。
マイwebpack.config.js
:
const webpack = require("webpack");
const ngToolsWebpack = require("@ngtools/webpack");
const HtmlWebpackPlugin = require("html-webpack-plugin");
module.exports = {
entry: {
app: "./src/main.ts",
vendor: ["@angular/core", "@angular/common", "@angular/platform-browser"],
polyfill: ["zone.js/dist/zone.js"],
},
output: {
path: __dirname + "/dist",
filename: "[name].js",
},
resolve: {
extensions: [".ts", ".js"],
},
module: {
rules: [
{ test: /\.html$/, use: "raw-loader" },
{ test: /\.css$/, use: "raw-loader" },
{ test: /\.ts$/, use: "@ngtools/webpack" },
],
},
plugins: [
new ngToolsWebpack.AotPlugin({
tsConfigPath: "./tsconfig.json",
}),
new webpack.optimize.CommonsChunkPlugin({
names: ["vendor", "polyfill"],
}),
new HtmlWebpackPlugin({
template: "src/index.html",
}),
],
};
これは何も変わっていません。私はブラウザをリフレッシュしたり、キャッシュを無効にしたりしてみましたが、ブラウザとサーバーの間ではなくサーバーとビルドの間に切断があるようです。 – rpjohnst
まあ、私はちょうど私のために働いたことを共有しました。私は前回同じ問題があった。あなたもそれを試すことができます。しかし、それが私の場合にどのように働いたのか。 – ickyrr
私はそれを試してみました - 私はちょうどそのアイデアを無視していたように聞こえるようにするつもりはありませんでした。 – rpjohnst