Javascript 您能否使用Webpack将库从一个repo导入另一个repo中的web应用程序?
所以我有一个包含Vue.js组件的库,还有一个Vue web应用程序,可以导入这些组件。两者都在Webpack上运行,并且都在单独的存储库中 在使用webpack之前,我使用了browserify hmr,并且可以使用npm链接将库从我的开发环境导入到web包中。本质上,它与Javascript 您能否使用Webpack将库从一个repo导入另一个repo中的web应用程序?,javascript,git,npm,webpack,vue.js,Javascript,Git,Npm,Webpack,Vue.js,所以我有一个包含Vue.js组件的库,还有一个Vue web应用程序,可以导入这些组件。两者都在Webpack上运行,并且都在单独的存储库中 在使用webpack之前,我使用了browserify hmr,并且可以使用npm链接将库从我的开发环境导入到web包中。本质上,它与import'../../../library/index.js' 使用Webpack时,我会遇到如下错误: ERROR Failed to compile with 1 errors 1:16:18 PM This d
import'../../../library/index.js'
使用Webpack时,我会遇到如下错误:
ERROR Failed to compile with 1 errors
1:16:18 PM
This dependency was not found:
* !!vue-style-loader!css-loader!../../../web-app/node_modules/vue-loader/lib/style-rewriter
?id=data-v-6afebbcb!sass-loader!../../../web-app/node_modules/vue-loader/lib/selector
?type=styles&index=0!./Component.vue in ../TheLibrary/src/Component.vue
To install it, you can run: npm install --save !!vue-style-loader!css-loader
!../../../web-app/node_modules/vue-loader/lib/style-rewriter?id=data-v-6afebbcb
!sass-loader!../../../web-app/node_modules/vue-loader/lib/selector?type=styles
&index=0!./Component.vue
我正在尝试在本地对库进行更改,并将其导入到我的本地web应用程序中,而不必推送库更改并从web应用程序中拉取模块更新。这和网页包有关系吗
此外,webpack项目是使用此
更新
发生此错误是因为库具有依赖项,而web应用程序上未安装该依赖项。只要我在web应用程序上安装该依赖项,错误就会消失
有什么想法吗?我认为最好的方法是将您的通用功能移到npm包中,并将其用于两个Web包项目的依赖项中。这是正确的方法 终于找到了解决办法。这一切都在网页包的解析器中。在WebpackV1中工作,可能是因为它在
build/webpack.base.js
resolve: {
fallback: [path.join(__dirname, '../node_modules')],
...
但webpackv2的工作方式似乎不同。我的工作环境看起来像这样
resolve: {
modules: [
path.join(__dirname, '../node_modules/TheLibrary'),
...
resolve: {
modules: [
path.join(__dirname, '../node_modules/TheLibrary'),
path.join(__dirname, '../node_modules/TheLibrary/node_modules/Component'),
...
现在,它在符号链接库中查找其依赖项
注意:如果该库也有一个符号链接的库,那么在此解决方案下,您需要将其也包括在根web应用程序下。像这样的
resolve: {
modules: [
path.join(__dirname, '../node_modules/TheLibrary'),
...
resolve: {
modules: [
path.join(__dirname, '../node_modules/TheLibrary'),
path.join(__dirname, '../node_modules/TheLibrary/node_modules/Component'),
...
所以仍然可以找到更好的解决方案:)实际上,库是常见的功能。假设它被用于两个独立的web应用程序中。另外,查看更新以了解更多信息。