Как я могу обслуживать пакеты NPM с помощью Flask?
У меня есть small Flask app, в котором в настоящее время отображаются jQuery и highlight.js с внешних серверов. Я хотел бы сделать эти локальные зависимости, которые я втягиваю через NPM.
Какова стандартная практика для этого? Должен ли я создать файл package.json
в том же каталоге, что и мои каталоги static
и templates
, и показать node_modules
как отдельный статический каталог этого question
Я занимаюсь упаковкой и распространением своего приложения с помощью pip
, поэтому любое решение должно быть совместимо с этим.
Ответы
Ответ 1
Вам нужно Bower, и у вас уже есть NPM. Это все, что вам нужно для достижения того, чего вы хотите.
В принципе, вам нужно будет создать package.json
в корне, чтобы установить Bower с помощью NPM. Затем вам нужно будет создать bower.json
, чтобы определить, какие библиотеки вам нужны, например jQuery.
Тогда ваш поток будет выглядеть следующим образом:
npm install
bower install
В основном это будет устанавливать беседу для вас и других библиотек интерфейса, которые вы определили в bower.json
.
Все компоненты bower войдут в каталог с именем bower_components
в вашем корне. Это место, где будут находиться все установленные вами пакеты. Теперь вы можете использовать эти пакеты внутри своих шаблонов.
Также см. это, чтобы убедиться, что пакеты bower установлены в вашей папке static
или assets
, которую вы хотите обслуживать.
Ответ 2
Перейдите в свою статическую папку и инициализируйте свой проект 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
Ответ 3
может быть немного поздно для ответа, но самый простой способ сделать это - сделать это:
sudo npm install bower
echo "bower_components/" >> .gitignore
bower install -S (here goes whatever you want)
npm init
Затем вы заполните приглашение, и у вас будет несколько новых файлов:
-
bower.json
, который генерируется сервером для управления зависимостями.
Использование bower install -S (your dependency)
будет обновлять этот файл с помощью
ваши новые зависимости.
-
package.json
, созданный npm для управления вашим проектом и npm
Зависимости
-
node_modules
, то, что вы установили с помощью npm
-
bower_components/
, где все ваши внешние зависимости
жить.