首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nodejs在主脚本之前运行自定义脚本

nodejs在主脚本之前运行自定义脚本
EN

Stack Overflow用户
提问于 2022-11-30 14:10:22
回答 1查看 34关注 0票数 1

每次从实际的应用程序项目文件夹运行../my_dir/my_script.js时,我都想运行node index.js

换句话说,我需要my_script.js在每个应用程序(A,B,C.N)中都是通用的,并且在index.js之前执行

结构:

代码语言:javascript
复制
+my_dir
  -my_script.js
+appA
  +node_modules
  -package.json
  -index.js
+appB
  +node_modules
  -package.json
  -index.js

my_script.js

代码语言:javascript
复制
console.log('my_script.js from parent directory STARTED');

package.json (类似于每个appA,appB .等)

代码语言:javascript
复制
{
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    //I HAVE TRIED
    "start": "node ../my_dir/my_script.js",
    "postinstall": "npm run-script ../my_dir/my_script.js",
    "preinstall": "npm run --prefix ../my_dir/my_script.js",
    
  }
}

index.js (类似于每个appA,appB .等等);

代码语言:javascript
复制
console.log('index.js STARTED');

如果我在appA node index.js里面尝试,我得到了index.js STARTED

如果我在appA npm start里面尝试,我得到了my_script.js from parent directory STARTED

预期:(同时运行):

代码语言:javascript
复制
my_script.js from parent directory STARTED
index.js STARTED

知道怎么做到吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-30 14:24:52

我认为在使用命令行node命令时,不可能自动运行第二个脚本。您可以手动运行这两个脚本。

代码语言:javascript
复制
node ../my_dir/my_script.js && node index.js

或者将它们捆绑在您的package.json中

代码语言:javascript
复制
"start": "node ../my_dir/my_script.js && node index.js",

然后用

代码语言:javascript
复制
npm start

您的postinstallpreinstall不太正确,它们在执行npm install时运行(您可以将postpre关键字放在任何命令https://docs.npmjs.com/cli/v9/using-npm/scripts之前)

所以你也可以

代码语言:javascript
复制
"start": "node index.js",
"prestart": "node  ../my_dir/my_script.js"

然后用

代码语言:javascript
复制
npm start

再一次

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74629155

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档