Django(Ubuntu):使用npm进行前端依赖管理的最佳方法是什么

时间:2017-10-24 15:16:39

标签: django npm

我以前如何创建我的Django项目

  • mkvirtualenv env1 - 创建虚拟环境env1
  • pip install -r requirements.txt - 安装一些python模块
  • pip install nodeenv - 适用于隔离的节点环境
  • nodeenv -p - 此命令安装nodejs并为virtualenvwrapper shell函数添加新的shell函数。目录node_modules放在env1目录
  • npm install -g bower - Bower目录放在env1内的node_modules中。
  • pip install django-bower - 我设置BOWER_COMPONENTS_ROOT = '/PROJECT_ROOT/components/'
  • 我设置BOWER_INSTALLED_APPS并运行./manage.py bower installBOWER_INSTALLED_APPS中列出的软件包已安装到'/PROJECT_ROOT/components/bower_components'
  • 最后我使用了django-compressor

然而,鲍尔现在显然不再是一件事,所以我需要一个新的设置。现在我决定,我将只使用npm进行前端依赖管理。所以我的问题是,如果以下设置足够好。注 - 我是关于npm和javascript环境的完整新手

  • 在virtualenv env1中创建nodeenv环境。然后在django项目根目录中运行创建npm init的{​​{1}},然后从同一目录运行package.json。这将在项目根目录中创建node_modules。然后我可以将npm install foundation-sites --save与在node_modules目录(项目根目录中的一个)上工作的预编译器一起使用。因此,使用此设置,一个node_modules目录位于env1中,并且内部唯一的包是npm(如果我理解正确的话,npm是以glodally方式安装的,但仍在虚拟环境中)。 Foundation包及其依赖项位于项目根目录内的目录node_modules中(在虚拟环境中本地安装)。

对于此目的,nodeenv是否必要,或者如果全局安装npm(在虚拟环境之外),然后为每个项目运行django-compressor并在本地安装所有软件包,它是否更好?我不知道这是否有效。

0 个答案:

没有答案