Tob*_*oby 5 django webpack django-webpack-loader
我通过django-webpack-loader在Django中使用Vue应用程序工作,在本地运行,我可以通过在base.html文件中使用以下命令使其工作:
{% load render_bundle from webpack_loader %}
...
...
{% render_bundle 'app' %}
Run Code Online (Sandbox Code Playgroud)
然而,在生产中这是行不通-我相信,因为生产的WebPack配置使用CommonChunksPlugin分裂成捆app,manifest和vendor。
在线上没有太多文档将Webpack与Django合并-我想知道是否有一种方法可以将所有块都包含在Django模板中。
最后的问题是由于代码拆分。在开发人员中,创建了一个JS文件,但是在生产配置中,将Webpack CommonChunksPlugin配置为将应用程序分为3个文件(清单,供应商和应用程序)。
这个解决方案不是理想的,并且可能无法很好地扩展,但是通过在Django模板中放置条件标签,我能够正确地引用必要的文件。
{% if STAGE or PRODUCTION %}
{% render_bundle 'vendor' 'js' %}
{% render_bundle 'manifest' 'js' %}
{% endif %}
{% render_bundle 'app' 'js' %}
Run Code Online (Sandbox Code Playgroud)
您是否编辑了 settings.py 以指向捆绑包目录?
APP_DIR = os.path.join(BASE_DIR, 'app')
WEBPACK_LOADER = {
'DEFAULT': {
'BUNDLE_DIR_NAME': 'dist/'
}
}
STATICFILES_DIRS = (
os.path.join(APP_DIR, 'assets'),
)
Run Code Online (Sandbox Code Playgroud)
然后使用 HtmlWebpackPlugin 来指向块?https://github.com/jantimon/html-webpack-plugin/blob/master/README.md#writing-your-own-templates
plugins: [
new HtmlWebpackPlugin({
template: 'static/app/index.html'
}),
]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1008 次 |
| 最近记录: |