Node.js-导入软件包问题-不是功能

时间:2019-08-24 18:54:36

标签: node.js

在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

2 个答案:

答案 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的新手,所以我无法评论发生了什么变化?

相关问题