我有一个用 TypeScript 编写的项目,我可以利用 Webpack Hot Reload,同时使用我的 Node.js 服务器中的库webpack-hot-middleware
和webpack-dev-middleware
库。
此外,我已经为我的 Stylus 代码配置了所有构建步骤(使用 Gulp 进行增量构建),它会在我的公共目录中生成一个 CSS 文件。
所以,现在我也想利用 Webpack 对 CSS 的热重载,因为我已经为我的 TypeScript 东西提供了它,但我不希望它来构建我的 CSS 文件,因为我已经有了一些很棒的东西。理想情况下,我只想让 Webpack 在每次更改时热重新加载我的单个 CSS 文件。实现这一目标的最简单和最好的方法是什么?
我当前的配置文件如下所示:
const webpack = require('webpack');
module.exports = {
entry: [
'webpack-hot-middleware/client',
'./src/client/index.tsx'
],
output: {
path: '/public/js/',
filename: 'bundle.js',
publicPath: '/js/'
},
resolve: {
extensions: ['', '.webpack.js', '.web.js', '.ts', '.tsx', '.js']
},
module: {
loaders: [
{
test: /\.tsx?$/,
loader: 'ts-loader'
}
]
},
plugins: [
new webpack.optimize.OccurenceOrderPlugin(),
new webpack.HotModuleReplacementPlugin()
];
};
然后,我像这样使用 Webpack Hot Middleware 和 Webpack Dev Middleware:
const webpackConfig = require('../webpack.config');
const compiler = webpack(webpackConfig);
app.use(webpackDevMiddleware(compiler, { noInfo: true, publicPath: webpackConfig.output.publicPath }));
app.use(webpackHotMiddleware(compiler));