我的项目 struct 如下:

.
+-- Common
|   +-- MyCommonVueComponent.Vue
+-- MainProject
|   +-- webpack.config.js
|   +-- package.json
|   +-- node_modules
|   +-- src

当我看到控制台网页上的一个构建时,并没有抱怨,因为它似乎有一个正确的路径,指向从Common导入MainProject的组件的node_modules文件夹.当我try 调试Vue时.浏览器中的js应用程序出现以下错误:

../Common/MyCommonVueComponent.Vue
Module not found: Error: Can't resolve 'vue-hot-reload-api' in 'D:\Projects\Cb\CommonVue'

我补充说:

resolveLoader: {
        modules: [path.resolve(__dirname, './node_modules')],
    },

在控制台中运行webpack时,这似乎解决了路径问题,但在浏览器中调试时却没有.感谢您的帮助.希望有人谁建立了类似的项目 struct 可以透露一些信息!

推荐答案

  • Vue cli:v3.11
  • 网页:v4.40.2
  • 巴贝尔:7.6.0
  • node :v10.16.3

今晚我遇到了一个类似的情况,我想把一些定制库转移到一个外部共享库目录中,用于敏捷开发和模拟测试.大约两周前,我才开始学习Vue/webpack生态系统,我可以肯定地说,这是一次冒险,因为webpack是一头令人畏惧的野兽,它能找出所有必须正确对齐的神秘旋钮和按钮.

./devel  (webpack alias: TTlib)
+-- lib
|   +-- widget.js
|   +-- frobinator.js
|   +-- suckolux3000.js
+-- share (suckolux3000.js taps into this directory)
|   +-- imgs
|   +-- icons
|   |   +-- img
|   |   +-- svg
+-- MainProject
|   +-- vue.config.js
|   +-- package.json
|   +-- node_modules
|   +-- src
+-- TestProject
|   +-- vue.config.js
|   +-- package.json
|   +-- node_modules
|   +-- src

我担心的是确保webpack HMR能够正常工作,我可以说你们很接近,但还不够.幸运的是,修复非常简单.

以下是我的vue.config.js条补充信息:

module.exports = {
  configureWebpack: {
    resolve: {
      alias: {
        'TTlib': '/devel/lib'
      },
      modules: ['/devel/lib']
    },
    resolveLoader: {
      modules: ['/devel/lib']
    }
  }
};

现在,在我的任何*项目组件中,我都可以使用:

import frobinator from 'TTlib/frobinator'

Now if I edit any of the project or (external) lib files, webpack HMR will kick in and refresh the running 'yarn serve' daemon and emit the changes I've made.

希望有帮助!

Vue.js相关问答推荐

如何在与父集合相同的读取中取回子集合(或重构数据?)

在vuejs中使用表单追加时如何使用布尔值

v-on 的 .native 修饰符仅在组件上有效,但在 标签上使用

使用 vue / nuxt js 切换 fontawesome 图标

Vuetify/Nuxt 生产环境组件在开发环境中无法正常工作

vue js导航到带有问号的url

将初始值设置为可直接在 HTML 中使用的 vue.js 模型

带有热重载的 docker 容器上的 Vue.js 应用程序

如何在Typescript语言Vuejs中使用watch功能?

确保在渲染组件之前加载 Vuex 状态

Laravel Vue - 如何让 vue 在公共文件夹中查找图像

查看 cli3 启用 CORS

React.js 是否有类似 Vue.js

如何在 .js 文件中使用 Vue i18n 翻译?

将 props 传递给 Vue 组件中的元素属性

错误:vue-loader 要求 @vue/compiler-sfc 存在于依赖树中

JavaScript/VueJS:判断数组是否包含具有特定值元素的对象

v-if 未在计算(computed)属性上触发

在 Vue 单元测试中单击按钮时触发表单提交

使用 vuex-persistedstate 仅使一个模块持久化