如何在Flask中使用NPM模块?

时间:2018-08-20 13:41:08

标签: javascript python node.js flask npm

我有一个Python应用程序,正在使用render_template()函数通过Flask部署到网页上。同时,我尝试使用npm将一些javascript模块合并到我的代码中。尽管我已将static文件夹中的所需模块正确安装了我所有的其他javascript文件,但代码拒绝识别这些模块。

我的Flask CLI显示我的本地开发服务器已正确找到模块文件,但是如果我运行var module = require('module'),则该代码未显示通过浏览器运行的指示。无论我将此脚本包含在template文件夹的html模板中,还是static文件夹中的外部javascript文件中,都是如此。

有趣的是,如果我使用node script.js通过npm CLI运行相同的外部javascript文件,则脚本将执行。有人可以解释我在做什么错,为什么会这样?我是Node.js,npm的新手,今天才开始工作,所以我们将不胜感激。

我目前在这里以6个投票支持我的工作:How can I serve NPM packages using Flask?

3 个答案:

答案 0 :(得分:0)

npm是。 Node.js包管理器工具。并且它仅用于node.js应用程序。 如果您的应用程序前端是react或vue框架,而后端是node.js框架示例Express或Koa,则使用npm很好。但是现在你的后端是Flask ,您知道Python软件包管理工具是Pip,因此,如果您使用Npm,则应在frontend中使用node,后端是flask,并且前端开始npm start,后端开始python app.py

答案 1 :(得分:0)

您可以通过生成文件并导航到应用程序中的本地URL而不是使用浏览器来将电子用作python应用程序的ui。有了这个,您将具有一些节点功能。

答案 2 :(得分:0)

在不了解更多信息的情况下,这在黑暗中有点刺痛,但是很晚了,但是我通过以下方法解决了类似的问题:

app = Flask(__name__,
   static_folder = './public',
   template_folder="./static")