【问题标题】:How can I use NPM modules with Django inside an app?如何在应用程序中将 NPM 模块与 Django 一起使用?
【发布时间】:2022-01-02 10:50:08
【问题描述】:

我有一个包含 2 个应用程序的 Django 项目。我想在其中一个应用程序中使用 Notion API,所以我必须安装它的 NPM 模块。但是,我从来没有使用过 NPM 或捆绑器(我知道我必须使用一个作为 import 语句)。 我不知道该怎么做。我应该在哪里安装模块?我应该安装 Webpack 还是类似的东西?如何将这两种技术与 Django 集成?
有人可以向我解释一下,或者参考文章/视频解释吗?
我已经尝试了几个小时,但找不到任何详细信息。
我检查了以下链接:

还有更多。

他们要么没有我需要的东西(他们是为了反应),要么我无法理解他们。我知道可能有很多关于这方面的文章,但要么我找不到它们,要么它们对我来说太复杂了(对不起,我很笨)。

如果有人可以帮助我,我会很开心。

谢谢!

附:我正在使用 Typescript,但如果需要,我可以使用 vanilla JS。

【问题讨论】:

  • 你使用的是原生 Javascript?
  • 我正在使用 Typescript,但如果需要我可以停止使用它

标签: node.js django npm webpack


【解决方案1】:

为了让您的应用按照您想要的方式运行,您需要做两件事。

  1. 安装、配置和运行模块捆绑器
  2. 使用collectstatic

模块捆绑器:

你有几个选择,但大多数都使用 webpack,因为它是最流行的。我更喜欢汇总,但这完全取决于偏好。

汇总快速入门:https://rollupjs.org/guide/en/#quick-start

webpack:https://webpack.js.org/concepts/

由于您使用的是 Typescript,请参阅捆绑 Typescript 的插件

https://webpack.js.org/guides/typescript/

https://github.com/rollup/rollup-plugin-typescript

捆绑后,您应该有一个main.js 文件或等效文件。确保main.js 在它自己的文件夹中。打包程序通常会为您执行此操作。

将该目录添加到您的STATICFILES_DIRS 中的settings.py

请注意,您需要设置 STATIC_ROOT 才能使其正常工作。这将是一个文件夹,您将在其中存储收集的静态文件。

运行python manage.py collectstatic

旁注:如果您使用python manage.py runserver 启动应用程序,则无需运行collectstatic

【讨论】:

  • 好的,我试试
  • 我爱你兄弟,现在我只需要学习如何让 webpack 将某些文件夹编译到其他文件夹中,以及 webpack 的其他配置
  • 看到这个问题:stackoverflow.com/questions/30818236/…@Joaquin
猜你喜欢
  • 1970-01-01
  • 2018-07-29
  • 2020-08-06
  • 1970-01-01
  • 2016-12-20
  • 1970-01-01
  • 1970-01-01
  • 2018-05-30
  • 1970-01-01
相关资源
最近更新 更多