如何使用参数从终端调用javascript文件中定义的方法
我正在使用mongoose和javascript文件中定义的查询方法处理测试mongodb数据库,我想通过使用node js从终端调用这些方法来运行一些查询(其中一些带有参数)。我没有创建任何服务器,虽然我熟悉使用postman创建路由和进行查询,并且我已经编写了测试,确认这些方法按预期工作,但我希望通过终端运行查询,因为我这样做只是为了学习 如果有人能推荐一个可以读取javascript文件并使其中定义的方法/函数可以从终端调用的节点包,我将非常高兴。我也愿意以任何其他方式实现这一目标 我曾尝试在网上搜索合适的npm软件包,但我并不幸运,我对stack还很陌生,还在学习,底线是我想在终端上使用我自己定义的文件方法(而不是mongo)运行mongoose查询。我的一段代码显示了一些方法,下面将进一步说明。多谢各位如何使用参数从终端调用javascript文件中定义的方法,javascript,node.js,mongodb,terminal,mongoose,Javascript,Node.js,Mongodb,Terminal,Mongoose,我正在使用mongoose和javascript文件中定义的查询方法处理测试mongodb数据库,我想通过使用node js从终端调用这些方法来运行一些查询(其中一些带有参数)。我没有创建任何服务器,虽然我熟悉使用postman创建路由和进行查询,并且我已经编写了测试,确认这些方法按预期工作,但我希望通过终端运行查询,因为我这样做只是为了学习 如果有人能推荐一个可以读取javascript文件并使其中定义的方法/函数可以从终端调用的节点包,我将非常高兴。我也愿意以任何其他方式实现这一目标 我曾尝
module.exports = {
createRole: function(roleTitle) {
var roleInfo = {
title: roleTitle
},
newRole = new models.Role(roleInfo);
newRole.save(function(err, roles) {
if (err) {
console.log(err);
}
return 'role saved';
});
},
getAllUsers: function() {
return models.User.find({}).sort({
firstname: 'ascending'
})
.populate('role');
},
getAllDocuments: function(limit) {
return models.Document
.find({})
.limit(limit)
.sort({
date: 'descending'
})
.select('dateCreated permission contents')
.populate('permission');
}
}
简短回答:
process.argv
#! /usr/bin/env node
function hiya(name) {
console.log('Hello, ' + name)
}
console.log('node: ' + process.argv[0])
console.log('script path: ' + process.argv[1])
if (process.argv.length > 2)
hiya(process.argv[2])
else hiya('world')
输出(节点示例或“./example”):
输出(节点示例测试或“./示例测试”):
假设我正确地回答了您的问题,您想启动一个控制台,并从中使用模块中定义的方法吗?如果是这样的话,很简单。在没有文件的情况下启动的节点是一个交互式shell。因此,启动它,导入您的模块,然后这些方法将对您可用: 在命令行的“类型”节点上(+输入) 然后键入
var MyModule = require('MyModule');
接下来,您可以键入MyModule.createRole(…)非常感谢,这正是我想要的,非常好用!非常感谢,这工作得非常好,虽然我更喜欢下面的解决方案,因为它不需要编写任何额外的代码行,但我感谢您的回复
node: node
script path: /home/julian/wave/example
Hello, test
var MyModule = require('MyModule');