Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Vuejs-Vue应用程序构建为其他项目的组件';s-vue路由器_Javascript_Vue.js_Vue Component_Vue Router - Fatal编程技术网

Javascript Vuejs-Vue应用程序构建为其他项目的组件';s-vue路由器

Javascript Vuejs-Vue应用程序构建为其他项目的组件';s-vue路由器,javascript,vue.js,vue-component,vue-router,Javascript,Vue.js,Vue Component,Vue Router,我正在尝试为其他vue项目构建一个vue应用程序,用作应用程序vue路由器的组件。 这是我的简单项目结构 |-- my-app |-- lib |-- my-app-component <-- folder copied from (my-app-component's dist) |-- App.vue |-- app.js |-- package.json |-- my-app-component |-- dist

我正在尝试为其他vue项目构建一个vue应用程序,用作应用程序vue路由器的组件。 这是我的简单项目结构

|-- my-app
    |-- lib
        |-- my-app-component <-- folder copied from (my-app-component's dist)
    |-- App.vue
    |-- app.js
    |-- package.json



|-- my-app-component
    |-- dist
    |-- App.vue
    |-- app.js
    |-- package.json

  • 将dist文件夹复制到我的应用程序lib文件夹,这只是临时解决方案,一旦我设法解决当前问题,将使用Lerna和Thread工作区进一步改进
  • 我的应用程序库的库导入我的应用程序组件我的应用程序->app.js的代码是
  • 从“Vue”导入Vue
    从“./App.vue”导入应用程序
    从“vue路由器”导入VueRouter
    从“@lib/my app component”导入MyAppComponent
    常数路由=[
    {
    名称:“MyAppComponent”,
    路径:“/”,
    组件:MyAppComponent
    }
    ]
    常量路由器=新的VueRouter({
    路线
    })
    新Vue({
    el:“#应用程序”,
    路由器,
    组成部分:{
    应用程序
    },
    模板:“”
    })
    
    基于这些步骤,我似乎无法成功导入组件。
    我正在使用vue cli服务构建命令来构建我的组件,似乎在这里找到了答案

    这些天我一直在回答自己的问题,堆栈溢出是否仍然存在

    解决方案:

  • 建造
  • 在package.json中添加main
  • 在主应用程序中,按添加组件
  • 导入并使用组件

  • 似乎在这里找到了答案

    这些天我一直在回答自己的问题,堆栈溢出是否仍然存在

    解决方案:

  • 建造
  • 在package.json中添加main
  • 在主应用程序中,按添加组件
  • 导入并使用组件
  • import MyCustomElement from './App'
    
    export {
       MyCustomElement
    }
    
    import Vue from 'vue'
    import App from './App.vue'
    import VueRouter from 'vue-router'
    import MyAppComponent from '@lib/my-app-component'
    
    const routes = [
      {
        name: 'MyAppComponent',
        path: '/',
        component: MyAppComponent
      }
    ]
    
    const router = new VueRouter({
      routes
    })
    new Vue({
      el: '#app',
      router,
      components: {
        App
      },
      template: '<App/>'
    })
    
    
    vue-cli-service build --target lib --name dummylib src/main.js
    
    "main": "./dist/dummylib.common.js",
    
    yarn add ../dummylib
    
    import DummyButton from 'dummylib'
    export default {
      name: 'app',
      components: {
        'dummy-button' : DummyButton
      }
    }