【发布时间】:2021-03-28 12:41:46
【问题描述】:
我使用 django 作为后端,并使用 npm 安装了一些 js 包。我目前正在通过允许 django 通过将 /node_modules 添加到 STATICFILES_DIRS 来访问这些包。这一直有效,但我必须进入 pacakge 并找到我要指向的 js 文件,然后使用 <script src="{% static ... 加载它。
这有点乏味,看起来有点“hacky”。我也无法弄清楚如何在我的 js 文件中使用导入/需要。有没有办法使用导入,或者我是否通过脚本标签加载了所有内容?我认为这是因为 django 不知道如何适当地为 npm 包提供服务?我对 webpack 进行了一些阅读,但我仍然不确定 webpack 是否可以解决我的问题。有什么建议吗?
【问题讨论】:
-
您确实应该捆绑您的 JS 文件,而不是您当前使用的 hack。 Webpack 可能有点难以掌握,尤其是如果您不熟悉 JS 捆绑。我个人喜欢使用 ParcelJS,它根本不需要配置。但是,是的,无论使用什么工具,您都应该真正了解 JS 捆绑
-
@blex 你知道它是否与 django 项目兼容吗?我正在使用 django 模板,所以 html 不是纯 html
-
WebPack 或 ParcelJS、Rollup 或 Gulp 等捆绑程序可以独立于项目的其余部分使用。它们的方法各不相同,但过程是相同的:一旦你准备好投入生产,你
build你的 JS,在适当的目录中(由 Django 公开)中的一个缩小文件)。并且您的模板引用了该缩小文件。您可以手动构建,或者,如果您有部署管道,则在管道中自动执行此操作 -
关于如何使用 ParcelJS 和 Django 的好例子为零。应该是一个快速的小细节变成了一个长期无法回答的噩梦。
标签: javascript django npm webpack