所以我的问题是,当我去http://localhost:8080/webpack-dev-server/
时,我可以让webpack提供目录列表。如果我修改了dev服务器路径,那么它不会对该包进行任何更改。Webpack dev-server - 如何提供更新资产的静态文件?
我想要一个非常简单的设置。采取一切应用程序,执行js转换,然后在远程服务。 index.html
如何适合它?
我有以下目录结构:
app
index.js
dist
bundle.js
index.html
webpack.config.js
而且webpack.config里面我有这样的:
const path = require('path')
module.exports = {
entry: './app/index.js',
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist'),
publicPath: '.',
},
module: {
rules: [
{
test: /\.js$/,
use: 'babel-loader',
exclude: /(node_modules)/,
}
]
},
devServer: {
contentBase: path.join(__dirname, 'dist'),
compress: true,
}
}
我将其解释为“在index.js开始捆绑,改造后全部使用babel-loader的js文件将名为bundle.js
的文件放入dist/
。然后在dev服务器上,从该dist文件夹中提供js内容并进行压缩。“
我断开连接是在了解index.html
如何玩这个。 我已咨询:https://webpack.js.org/configuration/dev-server/#devserver
。
我可以将contentBase
路径更改为.
,它不会显示目录列表,但它不会更新该包。
tldr:
我怎样才能使开发服务器指向index.html
但服务更新资产?
最后,想通了。
const path = require('path')
module.exports = {
entry: './app/index.js',
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist'),
},
module: {
rules: [
{
test: /\.js$/,
use: 'babel-loader',
exclude: /(node_modules)/,
}
]
},
devServer: {
contentBase: 'dist',
}
}
我喜欢的说,我有一个顿悟,但我只是垃圾邮件的选项,直到它的工作。
好的。这是有道理的。谢谢!我的新问题是我无法让开发者服务器更新软件包。 – user3162553
这有点奇怪,因为我有一个非常类似的项目设置,它工作得很好。你的意思是捆绑文件没有被更新?因为正如我所说的,'webpack-dev-server'构建并完全从内存提供该文件,所以它不会触及实际的包文件(为此,您将运行'webpack -w')。 – robertklep
如果我更改'app/index.js'中的代码,它不会显示该结果。如果我添加警报,则页面刷新并且不会调用警报。如果我运行没有开发服务器的webpack命令,它就起作用。只有在使用不更新的开发服务器时。 – user3162553