在macOS Mojave上使用节点v12.9.0,具有以下项目结构(应用程序为根文件夹):
app
\
utils.js
app.js
utils.js
console.log('utils.js')
const add = function(a ,b) {
return a + b
}
module.exports = add
app.js
const add = require('./utils.js')
const sum = add(4, -2)
console.log(sum)
尝试运行此命令
node app.js
错误:
app/app.js:3
const sum = add(4, -2)
^
TypeError: add is not a function
at Object.<anonymous> (/Users/devuser/app/app.js:3:13)
at Module._compile (internal/modules/cjs/loader.js:936:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:947:10)
at Module.load (internal/modules/cjs/loader.js:790:32)
at Function.Module._load (internal/modules/cjs/loader.js:703:12)
at Function.Module.runMain (internal/modules/cjs/loader.js:999:10)
at internal/main/run_main_module.js:17:11
答案 0 :(得分:0)
您能尝试一下吗?
utils.js
const add = function(a ,b) {
return a + b
}
module.exports = {
add : add
}
app.js
const utils = require('./utils.js')
const sum = utils.add(4, -2)
console.log(sum)
答案 1 :(得分:0)
现在,它实际上可以在Visual Studio Code提供的Integrated Terminal和本机macOS Terminal中使用我的原始代码来工作。
现在它只打印:
2
不知道为什么以前发生TypeError吗?
node.js的新手,所以我无法评论发生了什么变化?