在需要时运行不同的代码,而不是直接传递给节点 CLI
run different code when required instead of passed to node CLI directly
我假设可以区分文件是必需的还是直接传递给节点?
例如:
//foo.js
if( ???? ){
console.log( "This file was required" );
else{
console.log( "This file was run directly" );
}
当某些其他文件需要它时会输出 "This file was required"
//baz.js
var foo = require('foo.js');
直接传递给节点时会输出"This file was run directly":
$ node foo.js
条件究竟应该是什么样的?
您可以检查 module.parent
以查看它是 运行 全局还是必需的。
The module that required this one.
意味着如果不需要,则 module.parent
不存在。
if (module.parent) {
console.log('File is being required.');
} else {
console.log('File is being run directly.');
}
我假设可以区分文件是必需的还是直接传递给节点?
例如:
//foo.js
if( ???? ){
console.log( "This file was required" );
else{
console.log( "This file was run directly" );
}
当某些其他文件需要它时会输出 "This file was required"
//baz.js
var foo = require('foo.js');
直接传递给节点时会输出"This file was run directly":
$ node foo.js
条件究竟应该是什么样的?
您可以检查 module.parent
以查看它是 运行 全局还是必需的。
The module that required this one.
意味着如果不需要,则 module.parent
不存在。
if (module.parent) {
console.log('File is being required.');
} else {
console.log('File is being run directly.');
}