【发布时间】:2017-08-08 09:57:25
【问题描述】:
我想在我的 package.json 脚本中使用 js 文件创建一个用户,但是当我通过 npm run create_admin 运行该脚本时,该用户并未创建,也不会引发任何错误。一些快速调试让我相信Account.register 没有被调用。
package.json 脚本 -
"scripts": {
"start": "node bin/www",
"test": "mocha --recursive",
"create_admin": "node scripts/create_admin"}
create_admin.js -
var prompt = require('prompt'),
Account = require('../models/account'),
util = require('../utility/utility');
var schema = {
properties: {
username: {
pattern: /^[a-zA-Z\s\-]+$/,
message: 'Username must contain only letters, spaces, or dashes.',
required: true,
description: 'Enter username'
},
password: {
hidden: true,
required: true,
description: 'Enter password'
},
confirmPassword: {
hidden: true,
required: true,
description: 'Confirm password'
}
}
};
prompt.start();
prompt.get(schema, function(err, result) {
if (result.password === result.confirmPassword) {
var newAccount = {
username: result.username,
isAdmin: true,
regDate: Date.now(),
lastLogin: Date.now()
};
Account.register(new Account(newAccount), result.password, function(err, account) {
if (err) {
console.log('Username already in use. Please try another username');
} else {
console.log('Admin account created');
}
});
} else {
console.log('Error - passwords do not match');
}
});
感谢任何帮助。
【问题讨论】:
标签: node.js express mongoose npm