Javascript 在另一个webpack项目中使用webpack编译库,但未导入任何内容
假设我有两个项目:Javascript 在另一个webpack项目中使用webpack编译库,但未导入任何内容,javascript,webpack,Javascript,Webpack,假设我有两个项目: project-a export default "test text" project-a是使用默认的Webpack4.0配置编译的,它接受/src/index.js并将其绑定到/dist/main.js 然后我将它保存到我的github或npm中,以便将来使用它(如project-b) package.json看起来像: { "name": "project-a", "version": "1.0.0", "description": "my project
project-a
export default "test text"
project-a
是使用默认的Webpack4.0配置编译的,它接受/src/index.js
并将其绑定到/dist/main.js
然后我将它保存到我的github或npm中,以便将来使用它(如project-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)
我得到{}
。尝试从“project-a”中将*作为projectA导入,会产生{}
我哪里出错了?如果你想编写某种可重用的库,你必须告诉webpack这样做
output: {
libraryTarget: 'commonjs2',
library: 'handler',
filename: 'index.js',
path: path('build')
},
这是重要的部分。在这里,您告诉webpack您希望它构建一个库
以我的项目为例。
它导出方法句柄
进一步阅读:
是否将默认“测试文本”导出为const text=“测试文本”;导出默认文本
有什么不同吗?刚刚尝试过,没有什么不同。我相信这也与我这里未回答的问题有关:@KfirM,是的,看起来相关。有人说,人们只在最后捆绑-当然这是好的,但你会如何创建一个重要的npm项目?您是否使用src文件作为入口点?在我的问题中,我被告知要()…但它不起作用。。。我也会尝试一下……这很有效,它让我可以将编译好的文件导入到另一个网页项目中。但是,同一个项目不能作为脚本文件包含。仍然无法使其在我的端工作。。。。太令人沮丧了@DavidAlsh-你说不能作为脚本文件包含是什么意思