我有一个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?
答案 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")