我如何使用Flask来提供NPM包?

我有一个小Flask应用程序 ,它目前从外部服务器来源jQuery和highlight.js。 我想通过NPM提取这些本地依赖项。

这是什么标准的做法? 我应该创buildpackage.json文件在我的statictemplates目录相同的目录和服务node_modules作为一个单独的静态目录ala这个问题 ?

我使用pip打包和发布我的应用程序,所以任何解决scheme都需要与之兼容。

你需要鲍尔 ,你已经有了NPM。 这就是你需要达到你想要的。

基本上,你将不得不在root中创build一个package.json来使用NPM来安装Bower。 然后你将不得不创build一个bower.json来定义你需要的所有库,例如jQuery。

那么你的stream程就像

 npm install bower install 

这将基本上为您和您在bower.json定义的其他前端库安装bower。

所有的bower组件都会进入一个名为bower_components的目录。 这是您安装的所有软件包所在的位置。 您现在可以在模板中使用这些包。

另请参阅此处以确保凉亭的软件包安装在您要提供的staticassets文件夹中。

也许有点晚了答案,但最简单的方法是这样做的:

 sudo npm install bower echo "bower_components/" >> .gitignore bower install -S (here goes whatever you want) npm init 

然后你填写提示,你会有一些新的文件:

  • bower.json ,由bower生成以pipe理依赖关系。 使用bower install -S (your dependency)将用你的新依赖来更新这个文件。
  • package.json ,由npm创build来pipe理你的项目和npm的依赖关系
  • node_modules ,你用npm安装的东西
  • bower_components/这就是你所有的前端依赖关系所在的地方。

去你的静态文件夹,并初始化你的NPM项目。

 cd flask_app/static $ npm init 

安装并保存npm包后,你可以像这样服务它们:

 <script src="{{ url_for('static', filename='node_modules/toastr/toastr.js')}}"></script> 

学分: https : //codeburst.io/creating-a-full-stack-web-application-with-python-npm-webpack-and-react-8925800503d9