我试图在我正在处理的节点项目中要求另一个文件;这将是一个命令行工具。我尝试做的是使用以下文件format.js
创建格式化的颜色输出:
modules.exports = {
warning: function(input){
say("\033[31m" + input)
},
info: function(input){
say("\033[36m" + input)
}
}
从那里我想创建彩色输出并将其放入名为gen_email.js
的文件中。该文件包含以下两个功能:
function say(input){
console.log(input)
}
function helpPage(){
say('');
format.info("test")
}
当我尝试运行它时,它会输出以下内容:
C:\Users\thomas_j_perkins\bin\javascript\node\email\lib\format.js:1
(function (exports, require, module, __filename, __dirname) { modules.exports = {
^
ReferenceError: modules is not defined
at Object.<anonymous> (C:\Users\thomas_j_perkins\bin\javascript\node\email\lib\for
mat.js:1:63)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (C:\Users\thomas_j_perkins\bin\javascript\node\email\gen_ema
il.js:3:16)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
我不明白我做错了什么,根据this我要求文件正确的方法。我在这里做错了什么,我是否需要将say函数移动到另一个文件中?
答案 0 :(得分:1)
应该是
module.exports = {
warning: function(input){
say("\033[31m" + input)
},
info: function(input){
say("\033[36m" + input)
}
}
在另一个档案中
const format = require("whatEverPathIsOn/format.js")
如果文件只在同一条路径下
const format = require("./format.js")
答案 1 :(得分:0)
应该是module
,而不是modules
。