我们说我有两个项目:
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'
会产生{}
我哪里错了?
答案 0 :(得分:1)
如果你想编写某种可重用的库,你必须告诉webpack这样做。
output: {
libraryTarget: 'commonjs2',
library: 'handler',
filename: 'index.js',
path: path('build')
},
这是重要的部分。在这里,您要告诉webpack您希望它构建一个库。
举个例子,参加我的alexa-skill-template项目。 它导出方法 handle 。
进一步阅读: