更新 - 相关:如何module.exports =
预置到webpack包?
我有webpack编译简单module.exports = "asdfasdf"
到foo.js
在server.js
我有一个节点var foo = require("./foo.js")
当我console.log(foo)
得到一个空物体{}
我究竟做错了什么??
我的webpack配置:
module.exports = {
entry: "./test.js",
output: {
filename: "./foo.js"
},
target: "node",
module: {
loaders: [
{
exclude: /(node_modules|bower_components)/,
loader: "babel?presets[]=react,presets[]=es2015"
}
]
},
devtool: "#source-map"
};
Run Code Online (Sandbox Code Playgroud)
在我的情况下,当使用babel-loader与Babel 6时我也有同样的问题.即使我设置了
"libraryTarget": "commonjs2"
Run Code Online (Sandbox Code Playgroud)
我有结果:
const foo = require('some-module');
console.log(foo) // is {}
const bar = require('some-module').default;
console.log(bar) // is default export of 'some-module'
Run Code Online (Sandbox Code Playgroud)
如果你想:
const foo = require('some-module');
console.log(foo) // is default export of 'some-module'
Run Code Online (Sandbox Code Playgroud)
您可以使用: babel-plugin-add-module-exports
更新:
webpack的作者不建议使用babel-plugin.
Webpack 3有选项output.libraryExport(它现在没有详细的文档)
我试过这样的
output.libraryExport: 'default'
Run Code Online (Sandbox Code Playgroud)
它解决了这个问题.
归档时间: |
|
查看次数: |
3915 次 |
最近记录: |