我有一个用 Django 应用程序配置的 React 应用程序。我有不同的 webpack 配置文件用于开发和生产,当我运行“npm run start”时,它给了我以下错误:
无法读取未定义的属性“tap”
package.json 文件:
{
"name": "project",
"version": "0.1.0",
"private": true,
"dependencies": {
"@babel/core": "7.1.0",
"@svgr/webpack": "2.4.1",
"ajv": "^6.5.4",
"ajv-keywords": "^3.2.0",
"babel-core": "7.0.0-bridge.0",
"babel-eslint": "9.0.0",
"babel-jest": "23.6.0",
"babel-loader": "8.0.4",
"babel-plugin-named-asset-import": "^0.2.2",
"babel-preset-react-app": "^5.0.4",
"bfj": "6.1.1",
"case-sensitive-paths-webpack-plugin": "2.1.2",
"chalk": "2.4.1",
"css-loader": "1.0.0",
"dotenv": "6.0.0",
"dotenv-expand": "4.2.0",
"eslint": "5.6.0",
"eslint-config-react-app": "^3.0.4",
"eslint-loader": "2.1.1",
"eslint-plugin-flowtype": "2.50.1",
"eslint-plugin-import": "2.14.0",
"eslint-plugin-jsx-a11y": "6.1.2",
"eslint-plugin-react": "7.11.1",
"file-loader": "2.0.0",
"fs-extra": "7.0.0",
"identity-obj-proxy": "3.0.0",
"jest": "23.6.0",
"jest-pnp-resolver": "1.0.1",
"jest-resolve": "23.6.0",
"mini-css-extract-plugin": …Run Code Online (Sandbox Code Playgroud) 我通过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模板中。
我同时使用webpack和django.现在我/static/每次都将捆绑的资产移动到django目录,所以我想制作更有效的流程.
我阅读了一些文章,许多人建议使用django-webpack-loader,但我不完全理解它的作用.
我已经阅读了下面的官方文件.
https://owais.lone.pw/blog/webpack-plus-reactjs-and-django/
https://406.ch/writing/our-approach-to-configuring-django-webpack-and-manifeststaticfilesstorage/
我认为这是为了收集位于django项目之外的捆绑资产,但它似乎与创建从django项目到dist/webpack目录的符号链接几乎相同.
还有其他有用的功能django-webpack-loader吗?