我有多个Node.js脚本(例如:script1.js,script2.js,script3.js等)需要按特定的顺序执行。
我正在尝试拥有一个“主”(可以这么说)节点脚本,该脚本将列出这些文件的执行顺序(例如:script1.js-> script2.js-> script3.js,依此类推) 。附注-script1.js必须先完成执行,然后才能启动script2.js,依此类推。
我尝试使用“ child_process”执行单个Node脚本,并且该脚本有效,需要多个文件的帮助,并且需要特定的顺序。
提前谢谢!
答案 0 :(得分:0)
您必须在package.json文件中设置父Js文件。
<a id="link" href="https://google.co.uk">
Click/Touch and Drag/Swipe
</a>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
然后根据所需输出将子组件放入app.js文件。
答案 1 :(得分:0)
创建一个名为index.js的文件
使用index.js导入或需要其他文件
我实际上是使用express-enrouten在express js中用我的所有路由做到这一点的。
//index.js
require('folder/one.js');
require('folder/two.js');
//folder/one.js -> express route format but you can be as creative as you want
module.exports = function(req, res, next){
//do some things
//Go to next script
next()
}
答案 2 :(得分:0)
如果您未在文件中执行任何异步操作,则会按顺序加载。否则,请创建另一个文件并在其中调用async函数。
// script1.js
module.export.script1 = async () => {
// some async code
}
// script2.js
module.export.script2 = async () => {
// some async code
}
// script3.js
module.export.script3 = async () => {
// some async code
}
// index.js
const script1 = require('./script1.js');
const script2 = require('./script2.js');
const script3 = require('./script3.js');
async function name(params) {
await script1();
await script2();
await script3();
}
答案 3 :(得分:0)
为了便于按特定顺序运行多个脚本,您应该将所有命令放入 package.json 中“脚本”部分的该顺序。那么你只需要在终端中运行一个命令来实现它。
例如:
首先打开package.json:
"scripts": {
// ... some other scripts ...
"runall": "node script1.js [params] && node script2.js [params] && node script3.js [params]]" // params is optional
}
第二:打开终端并输入
npm run runall