在另一个webpack项目中使用webpack编译库,并且不导入任何内容

时间:2018-03-07 12:19:48

标签: javascript webpack

我们说我有两个项目:

project-a

export default "test text"
使用默认的webpack 4.0配置编译

project-a,该配置需要/src/index.js并将其捆绑到/dist/main.js

然后我把它保存到我的github或我的npm所以我将来可以使用它(比如项目-b)。

package.json看起来像:

{
  "name": "project-a",
  "version": "1.0.0",
  "description": "my project",
  "main": "./dist/main.js",
  "dependencies": {},
  "devDependencies": {
    ...
  },
  "scripts": {
    ...
  },
  "author": "",
  "license": "ISC"
}

project-b

我从跑步开始:

npm install mygithub/project-a

然后使用相同的默认webpack 4.0配置创建/src/index.js

import projectDefault from 'project-a'

console.log(projectDefault)

我得到{}。尝试import * as projectA from 'project-a'会产生{}

我哪里错了?

1 个答案:

答案 0 :(得分:1)

如果你想编写某种可重用的库,你必须告诉webpack这样做。

output: {
  libraryTarget: 'commonjs2',
  library: 'handler',
  filename: 'index.js',
  path: path('build')
},

这是重要的部分。在这里,您要告诉webpack您希望它构建一个库。

举个例子,参加我的alexa-skill-template项目。 它导出方法 handle

进一步阅读: