我有一个使用TypeScript编写的项目,我可以利用Webpack Hot Reload,在我的Node.js服务器中同时使用webpack-hot-middleware
和webpack-dev-middleware
库。
此外,我已经配置了所有的构建步骤,针对我的Stylus代码(使用Gulp进行增量构建),这会在我的公共目录下生成一个单独的CSS文件。
因此,现在我想要为CSS也利用Webpack的热重载功能,因为我已经为我的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热中间件和Webpack开发中间件:
const webpackConfig = require('../webpack.config');
const compiler = webpack(webpackConfig);
app.use(webpackDevMiddleware(compiler, { noInfo: true, publicPath: webpackConfig.output.publicPath }));
app.use(webpackHotMiddleware(compiler));