webpack导入一个es6模块,是否返回一个空对象?

时间:2018-10-12 02:53:09

标签: webpack babel-loader

我在es6中编写了一个程序包,并使用npm提交了它。

当我尝试导入它时,它只会返回一个空对象。

包装代码 ,像这样:

// package: someone-package
// dirs:
// - src
//   - index.js
// - package.json
// someone-package/src/index.js
export default {foo:'bar'}

// someone-package/package.json
{
  "name": "someone-package",
  "main": "./src/index",
  ...
}

webpack.config.js

// webpack.config.js
export default {
  entry: {app: './entry.js'},
  module: {
    rules: {
      test: /\.jsx?$/,
      use: [{
        loader: 'babel-loader'
      }]
    }
  },
  // other config fields ignore here.
}

输入脚本 ,如下所示:

// entry.js
import someone from 'someone-package';
console.log(someone) 
// print {}

为什么它不显示{foo:'bar'}

当我尝试此操作时,它会很好地工作:

// entry.js
import someone from 'someone-package/src/index';
console.log(someone)
// print {foo:'bar'}

1 个答案:

答案 0 :(得分:0)

package.json文件中,您必须指定条目文件:"main": "dist/main.js"