Node的module.exports
和ES6的export default
有什么不同?我试图弄清楚为什么在Node.js 6.2.2中尝试export default
时会出现"__不是构造函数“的错误。
有效的方法
'use strict'
class SlimShady {
constructor(options) {
this._options = options
}
sayName() {
return 'My name is Slim Shady.'
}
}
// This works
module.exports = SlimShady
不起作用的是什么
'use strict'
class SlimShady {
constructor(options) {
this._options = options
}
sayName() {
return 'My name is Slim Shady.'
}
}
// This will cause the "SlimShady is not a constructor" error
// if in another file I try `let marshall = new SlimShady()`
export default SlimShady
发布于 2020-03-31 16:58:48
Felix Kling在这两个方面做了很好的比较,对于任何想知道如何在nodejs中使用module.exports命名导出的人来说,如何做一个默认的导出
module.exports = new DAO()
module.exports.initDAO = initDAO // append other functions as named export
// now you have
let DAO = require('_/helpers/DAO');
// DAO by default is exported class or function
DAO.initDAO()
发布于 2020-02-12 20:04:42
您需要在项目中正确配置babel以使用export default和export const foo
npm install --save-dev @babel/plugin-proposal-export-default-from
然后在.babelrc中添加以下配置
"plugins": [
"@babel/plugin-proposal-export-default-from"
]
https://stackoverflow.com/questions/40294870
复制相似问题