我有一个使用webpack打包的库。我在下面的配置中使用了文件加载器:
{
//file-loader config of library
test: /\.(tsv|json)$/,
loader: 'url-loader?name=[name].[ext]'
}
运行webpack构建时,文件按预期存储在dist /文件夹中。 如果我托管库的dist文件夹,我对这些文件的所有引用都可以正常工作。
我在其他项目(也是webpack proj)中使用上面的库作为使用npm的依赖项。
要访问项目中lib的组件,我使用ProviderPlugin:
new webpack.ProvidePlugin({
myCustomLib: '<myLibName>'
})
通过此设置,我可以将库类(ES6)作为 myCustomLib.LibraryClassName 访问,而不会出现任何问题。
但该项目无法加载在库中配置的URL,因为项目的文件加载器配置不同:
{
//file-loader config of project using the library
test: /\.(tsv)$/,
loader: 'file-loader?name=assets/[name].[ext]'
}
我的所有库文件都放在dist / assets /中,但我的库代码期望它来自dist /。如何调整项目配置来处理这种情况。或者我采取了一种完全错误的方法。有什么我应该纠正