普通html页面引入了vue.js,
请问怎么在这样的页面使用.vue组件呢?
html页面引入vue组件需要在页面引入http-vue-loader.js
注意:要查看页面引入vue组件的效果不能直接在本地打开index.html,会有跨域问题,可以在本地配置一个nginx转发,再用浏览器访问http://localhost:port/index.html
1.创建my-component.vue
<template>
<div class="hello">Hello {{who}}</div>
</template>
<script>
module.exports = {
data: function() {
return {
who: 'world'
}
}
}
</script>
<style>
.hello {
background-color: #ffe;
}
</style>
2.创建index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<!-- 引入样式 -->
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
<!-- 先引入 Vue -->
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<!-- 引入 http-vue-loader -->
<script src="https://unpkg.com/http-vue-loader"></script>
</head>
<body>
<div id="app">
<my-component></my-component>
</div>
</body>
<!-- 引入组件库 -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
<script>
// 使用httpVueLoader
Vue.use(httpVueLoader);
new Vue({
el: '#app',
data: function () {
return { visible: false }
},
components: {
// 将组建加入组建库
'my-component': 'url:./component/my-component.vue'
}
})
</script>
</html>
注意:要查看页面引入vue组件的效果不能直接在本地打开index.html,会有跨域问题,可以在本地配置一个nginx转发,再用浏览器访问http://localhost:port/index.html
httpVueLoader的其他组件载入方式可查看:https://www.npmjs.com/package/http-vue-loader
想直接使用 .vue 文件不现实,因为浏览器只认识 .js .html .css 文件,.vue
文件可以用 vue-cli3.x
编译成 UMD
规范 如 vue-cli-service build --target lib
指令,
然后就可以在浏览器中直接引用了?具体可以参考我的这个仓库实现思路,
建议阅读这里
8 回答6k 阅读✓ 已解决
9 回答9.4k 阅读
6 回答5k 阅读✓ 已解决
5 回答3.6k 阅读✓ 已解决
4 回答8k 阅读✓ 已解决
7 回答10k 阅读
4 回答8.8k 阅读
基本上无法直接使用, .vue是经过 一系列转换,模板编译为函数,sass转换等 最终打包成js css 的。.vue 文件还是上vue-cli比较好