webpack ensure.require()异步载入一个模块之后 , 浏览器控制台提示 :
Not allowed to load local resource 错误
谷歌了一下,Not allowed to load local resource, 结果还是不行。
我的webpack.config.js配置如下:
var path = require ('path');
var ROOT_PATH = path.resolve (__dirname),
SRC_PATH = path.resolve (ROOT_PATH, "src/js/page"),
CSS_PATH = path.resolve (ROOT_PATH, "src/css");
BUILD_PATH = path.resolve (ROOT_PATH, "dist/js");
var webpackTargetElectronRenderer = require('webpack-target-electron-renderer');
var config = {
// devtool : 'eval-source-map',
entry : {
index : SRC_PATH + "/index.js"
},
output : {
filename : "[name].js",
path : BUILD_PATH,
publicPath : BUILD_PATH + '/',
chunkFilename : "[id].[name].js"
},
resolve : {
extensions : ['', '.js', '.json', '.css'],
packageMains: ['webpack', 'browser', 'web', 'browserify', ['jam', 'main'], 'main']
},
module : {
loaders : [
{
test : /\.json$/,
loader : "json"
},
{
test: /\.js$/,
exclude: /node_modules/,
loader : "babel",
},
{
test : /\.css$/,
loader : "style!css"
}
]
},
devServer : {
// contentBase : "",
inline : true,
colors : true,
historyApiFallback : true
},
};
config.target = webpackTargetElectronRenderer(config);
module.exports = config;
请问是怎么回事,应如何解决?
已经解决。在此记录,希望能帮到和我一样的webpack初学者。
要点:
当图片大小小于url-loader指定的limit时,会用base64方式加载图片,如果大于limit限制,则会根据name值将图片放到指定路径并命名。这时如果没有指定正确的output.publicPath,则提示找不到资源。
而我之前问的问题:Not allowed to load local resource,是因为同时使用了url-loader和file-loader。