分别设置输出文件夹和文件 url;带有 Django 的 Webpack 文件加载器
Setting the output folder and file url separately; Webpack file-loader with Django
我正在使用 Webpack 创建几个捆绑包,这些捆绑包加载到各自的 Django 应用程序中。所有的前端(静态)资产都存储在 Django 框架之外的单独文件夹中,当 Webpack 运行时,每个捆绑包都会被放入相应的静态子文件夹中。
我遇到的问题是使用文件加载器捆绑图像时。这些图像的导出位置应该是/common/static/[file]
,但是当样式表中的 url 字符串被替换时,它们需要指向 /static/[file]
。由于 Django 没有将/common/
作为路径的一部分公开,因此 img url 最终指向一个不存在的位置(http://host/common/static/...
而不是http://host/static/...
)。
我以为我已经找到了文件加载器(LINK)提供的"上下文"值所需的答案,但我要么错误地理解了"上下文"的目的,要么错误地使用它。
这是我的一些配置文件。我修剪了一些不相关的部分,例如 plugins
、externals
和 resolve
。
module.exports = {
context: __dirname,
entry: {
'./agent/static/agent_bundle': './ui/agent/entry.js',
},
output: {
path: './',
filename: '[name].js'
},
module: {
loaders: [{
test: /'.js(x)?$/,
loader: 'babel-loader',
exclude: /node_modules/,
query: {
presets: ['es2015']
}
},{
test: /'.(png|jpg)$/,
loader: 'url-loader?limit=8192&name=common/static/[name]-[hash].[ext]&context=static',
},{
test: /'.less$/,
loader: 'style!css?sourceMap!less?sourceMap'
},{
test: /'.woff(2)?('?v=[0-9]'.[0-9]'.[0-9])?$/,
loader: 'url-loader?limit=10000&minetype=application/font-woff&name=common/static/[name]-[hash].[ext]'
},{
test: /'.(ttf|eot|svg)('?v=[0-9]'.[0-9]'.[0-9])?$/,
loader: 'file-loader?name=common/static/[name]-[hash].[ext]'
}]
}
};
我实际上是通过 url 加载器处理图像,但超过 8k 限制的文件会交给文件加载器(从我读到的内容来看)。
设置output.publicPath
选项。我认为 https://webpack.github.io/docs/configuration.html#output-publicpath 的例子可以满足您的需求。
现在有同样的问题。似乎file-loader
在不同的位置输出文件,具体取决于您在编译时使用的是webpack-dev-server
还是webpack
。
- Django'支持Javascript文件中的翻译
- AJAX在Django的外部JS文件中发布
- Django无法通过urls.py配置找到djangular/app.js文件.如何进行故障排除
- 没有在django项目中加载CSS文件
- 使用angular$http和django-urlpatters来获得json文件
- Django,HTML,JS:<img src=“#">可以在HTML中工作,但不能在JS文件中工作
- 用Angular和Django发送文件
- 在使用 Django 静态文件时动态设置映像时,只有绝对路径才能与 jquery 一起使用
- 如何从 Django 浏览本地文件并存储文件信息
- 如何在JavaScript文件中使用Django变量
- 如何在Django表单中设置可接受的文件类型'的FileInput小部件
- Django项目中第三方静态文件的推荐目录布局是什么
- Django-开发服务器不提供管理静态文件
- 在django模板中调用javascript文件
- 如何在 django 中添加 javascript 文件到我的 ModelForm 中
- Django从通过网站上传的文件读取
- Django View 无法使用请求获取文件.来自 ajax 表单的文件提交
- 静态文件被接收,但在 Django 中不起作用
- 上传文件时将数据从JavaScript传递到Django视图
- Settings.py以及html和静态文件Django的路径