Webpack 网页包文件加载程序:加载资源失败
使用webpack,我有如下基本配置:Webpack 网页包文件加载程序:加载资源失败,webpack,webpack-dev-server,webpack-4,webpack-file-loader,Webpack,Webpack Dev Server,Webpack 4,Webpack File Loader,使用webpack,我有如下基本配置: { entry: { 'example1': path.join(__dirname, '/demo/example1/app.ts'), 'example2': path.join(__dirname, '/demo/example2/app.ts'), }, output: { filename: '[name]/app.js', path: path.join(__dirname, '/demo'),
{
entry: {
'example1': path.join(__dirname, '/demo/example1/app.ts'),
'example2': path.join(__dirname, '/demo/example2/app.ts'),
},
output: {
filename: '[name]/app.js',
path: path.join(__dirname, '/demo'),
},
module: {
rules: [
{
enforce: 'pre',
test: /\.js$/,
loader: 'source-map-loader'
},
{
test: /\.ts$/,
loader: 'ts-loader',
options: {
onlyCompileBundledFiles: true
},
exclude: /node_modules/,
},
{
test: /\.s?[ac]ss$/,
exclude: /node_modules/,
use: [
{
loader: 'style-loader',
},
{
loader: 'css-loader',
},
{
loader: 'postcss-loader',
options: {
sourceMap: true,
},
},
{
loader: 'resolve-url-loader'
},
{
loader: 'sass-loader',
},
{
loader: 'sass-bulk-import-loader',
},
],
},
// File loader
{
test: /\.(woff(2)?|ttf|eot|png|svg|md)(\?v=\d+\.\d+\.\d+)?$/,
use: [
{
loader: 'file-loader',
options: {
limit: 8192,
name: 'asset.[hash].[ext]',
},
}
]
}
],
},
resolve: {
modules: ['node_modules', path.resolve(process.cwd(), 'demo')],
extensions: ['.ts', '.js'],
},
devtool: 'inline-source-map',
devServer: {
port: 3000,
historyApiFallback: {
index: 'demo/'
},
contentBase: [path.join(process.cwd(), 'demo')],
},
};
一切正常。我可以享受我的代码
但是,文件加载器不加载资产。
事实上,我有一个错误:
加载资源失败:服务器响应状态为404(未找到)
这是因为路径不好。因为,使用此配置,它正在尝试获取此url处的资产:
并且,它使用以下路径:
如何配置webpack使其工作?这解决了我的问题!
只需设置公共路径
output: {
filename: '[name]/app.js',
path: path.join(__dirname, '/demo'),
publicPath: '/'
},