Vue.js 如何在浏览器中使用Vue组件库?

Vue.js 如何在浏览器中使用Vue组件库?,vue.js,Vue.js,我有一个Vue组件。我建立了浏览器通过汇总。但我不能在带有CDN的浏览器中使用。我做错了什么?我试过和其他很多东西。以下是一个例子: 内容1 内容2 内容3 从导入Vue'https://cdn.jsdelivr.net/npm/vue@2.6.12/dist/vue.esm.browser.js'; 从导入{multiplitpane,Pane}https://raw.githubusercontent.com/dgknca/vue-multi-split-pane/master/dist

我有一个Vue组件。我建立了浏览器通过汇总。但我不能在带有CDN的浏览器中使用。我做错了什么?我试过
和其他很多东西。以下是一个例子:


内容1
内容2
内容3
从导入Vue'https://cdn.jsdelivr.net/npm/vue@2.6.12/dist/vue.esm.browser.js';
从导入{multiplitpane,Pane}https://raw.githubusercontent.com/dgknca/vue-multi-split-pane/master/dist/vue-multi-split-pane.esm.js'; 
新Vue({
el:“#应用程序”,
组件:{multiplitpane,Pane}
})

我认为您应该使用Bili来构建库:

bili.config.js
中尝试此配置:

const magicImporter = require('node-sass-magic-importer');

module.exports = {
  banner: true,
  output: {
    extractCSS: false,
  },
  plugins: {
    vue: {
      css: true
    },
    style: {
      preprocessOptions: {
        scss: {
          importer: magicImporter(),
        },
      },
    },
  }
};

在您的
包.json中:

    "build": "vue-cli-service build --target lib --inline-vue src/index.js"

在此之后,您可以将您的库与
npm run build
绑定,并且您将在
dist/
目录中绑定js/css文件,如果您将js和css加载到浏览器中的HTML文件中,您可以在任何网站中使用该组件

不要错过在
index.js
中将组件装载到元素中的步骤,如下所示:

import Vue from 'vue';
import MyComponent from "./MyComponent.vue";

new Vue({
    el: '#my-component',
    render: h => h(MyComponent)
  })

我认为您应该使用Bili来构建您的库:

bili.config.js
中尝试此配置:

const magicImporter = require('node-sass-magic-importer');

module.exports = {
  banner: true,
  output: {
    extractCSS: false,
  },
  plugins: {
    vue: {
      css: true
    },
    style: {
      preprocessOptions: {
        scss: {
          importer: magicImporter(),
        },
      },
    },
  }
};

在您的
包.json中:

    "build": "vue-cli-service build --target lib --inline-vue src/index.js"

在此之后,您可以将您的库与
npm run build
绑定,并且您将在
dist/
目录中绑定js/css文件,如果您将js和css加载到浏览器中的HTML文件中,您可以在任何网站中使用该组件

不要错过在
index.js
中将组件装载到元素中的步骤,如下所示:

import Vue from 'vue';
import MyComponent from "./MyComponent.vue";

new Vue({
    el: '#my-component',
    render: h => h(MyComponent)
  })

我用rollup绑定了我的组件,并找到了定义组件的正确方法。这是我想要的

Vue.component('multiplitpane',vuemultiplitpane.multiplitpane)
组件('Pane',VueMultiSplitPane.Pane)
新Vue({
el:“#应用程序”
})
@导入url('https://fonts.googleapis.com/css2?family=Fira+代码&显示=交换';
身体{
字体系列:“Fira代码”,单空格;
背景#d8d1d9;
}
.v-pane-custom.v-pane.content{
背景:#fff;
}
.v-pane-custom.content.innerContent{
填充:20px;
线高:1.5;
}
.paneNested>.content>.innerContent{
填充:0;
}

内容1
内容2
内容3

我将我的组件与rollup捆绑在一起,并找到了定义组件的正确方法。这是我想要的

Vue.component('multiplitpane',vuemultiplitpane.multiplitpane)
组件('Pane',VueMultiSplitPane.Pane)
新Vue({
el:“#应用程序”
})
@导入url('https://fonts.googleapis.com/css2?family=Fira+代码&显示=交换';
身体{
字体系列:“Fira代码”,单空格;
背景#d8d1d9;
}
.v-pane-custom.v-pane.content{
背景:#fff;
}
.v-pane-custom.content.innerContent{
填充:20px;
线高:1.5;
}
.paneNested>.content>.innerContent{
填充:0;
}

内容1
内容2
内容3

你是说Vue web组件吗?@Naren我猜。我不确定。你能用我的库创建一个例子吗?如果需要,您也可以发送拉取请求。@usafder我想在带有CDN的浏览器中使用。不是在有nodejs的vue项目中。你是说vue web组件吗?@Naren我猜。我不确定。你能用我的库创建一个例子吗?如果需要,您也可以发送拉取请求。@usafder我想在带有CDN的浏览器中使用。不是在带有nodejs.it creates.umd.js的vue项目中,当我使用它时,它会覆盖我的html,我不能使用它,就像我想在我的组件中尝试过一样,我得到了这个结果。它是一个非常简单的组件,你可以尝试一下。我推送了最新的更改,我下载了你的dist并试用过,几乎没问题。问题应该是main.js应该是您的入口点,将package.json中的index.js重命名为main.js,它将被捆绑。您的demo.html应该如下所示,注意您应该在
div#app
之后导入脚本:我可以在我的机器上看到结果:嘿!检查我的vue多拆分窗格组件。我最后添加了浏览器支持。卷起来很好用。非常感谢你的努力。我会给你100个名声。因为我不能给出我自己的:)请不要忘记投票表决我的问题。它创建.umd.js,当我使用它时,它会覆盖我的html,我不能使用,就像我想在我的组件中尝试它一样,我得到了这个结果。这是一个非常简单的组件,你可以尝试一下。我推送了最新的更改,我下载了你的dist并试用过,几乎没问题。问题应该是main.js应该是您的入口点,将package.json中的index.js重命名为main.js,它将被捆绑。您的demo.html应该如下所示,注意您应该在
div#app
之后导入脚本:我可以在我的机器上看到结果:嘿!检查我的vue多拆分窗格组件。我最后添加了浏览器支持。卷起来很好用。非常感谢你的努力。我会给你100个名声。因为我不能给我自己:)请不要忘记投票我的问题。