我正在构建一个同时使用Python和NPM依赖模块的Node.JS项目。
JS模块位于package.json
中,python依赖项位于文件requirements.txt
中。
我希望通过运行npm install
从package.json
中安装所有依赖模块(Python和Node.JS)。
这可能吗?如何做到?
先谢了!
文件如下所示。
package.json:
{
"name": "app",
"version": "1.0.0",
"description": "Trial app",
"main": "bin/index.js",
"scripts": {
"dev": "npm install",
"start": "node app.js",
"test": "jest --forceExit "
},
"keywords": [
"AI",
"Blockchain",
"Decentralized"
],
"dependencies": {
"peerjs": "^1.3.2",
"redis": "^3.1.2",
"socket.io": "^4.1.2",
"socket.io-client": "^4.1.2",
"wrtc": "^0.4.7"
},
"devDependencies": {
"@babel/core": "^7.16.7",
"supertest": "^6.1.6"
}
}
requirements.txt:
Django==2.2.21
djangorestframework==3.7.7
django-rest-swagger
coreapi
3条答案
按热度按时间z0qdvdin1#
您可以定义命令在package.json的
"scripts"
部分中运行。其中的每个脚本都可以使用npm run [scriptname]
运行。因此您可以这样做(
&&
在第一个命令之后运行另一个命令)然后运行
npm run install
kxeu7u2r2#
将
"dev": "npm install"
替换为"dev": "npm install & pip install"
omqzjyyz3#
将“preinstall”条目添加到脚本。
npm
、yarn
和pnpm
将在安装dependencies
和“devDependencies”之前自动执行preinstall
脚本:package.json:
要同时安装npm和python依赖项,只需运行:
此外,在npm进程中还有其他钩子脚本,比如“prepare”,这可能会很有用。脚本可以用
... && npm run <script>
链接起来,所以“scripts”部分可以组织成小的原子部分,并通过链接它们来构建。我使用“scripts”作为项目的构建和部署活动知识库,不仅在JS中,而且甚至在纯Python项目中,取代了make文件功能。还可以将“package.json”与python脚本挂钩,即创建特定于项目的类似“build_project.py”脚本(或者任何适合您的名称,我使用了“make.py“和“build.py“以减少输入)的内容,在其中添加所有与python相关的内容。并从中运行
npm
命令。这可能比使用“package.json”中的“scripts”部分要多编码。