Vue.js 如何在浏览器中使用Vue组件库?
我有一个Vue组件。我建立了浏览器通过汇总。但我不能在带有CDN的浏览器中使用。我做错了什么?我试过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
和其他很多东西。以下是一个例子:
内容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个名声。因为我不能给我自己:)请不要忘记投票我的问题。