在webpack中使用vue的一些注意事项

tech2023-11-04  98

一、在webpack中安装vue

npm install vue -S //在运行时需要用到的,也就是生产环境

二、使用vue

在main.js中引入vue

// 引入vue import Vue from "vue"; const app = new Vue({ el: "#content", data() { return { message: "我在main.js中通过模块化的方式导入了vue" } }, methods: { getMsg() { console.log(this.message); } } })

在index.html中设置挂载点

<div id="content"> <h3 v-text="messge"></h3> <p>{{getMsg()}}</p> </div>

执行webpack打包命名后,运行测试

报错

You are using the runtime-only build of Vue where the template compiler is not available. Either pre-compile the templates into render functions, or use the compiler-included build.

原因: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TXlz0yE7-1599121821562)(F:\markdown笔记\图片\image-20200903160411703.png)]

解决办法: 在webpack.config.js配置文件中加入

resolve: { // alias 别名 alias: { "vue$": "vue/dist/vue.esm.js" //设置新的解析文件 } }

三、注意

在index.html中.应该以下面的方式写

<body> <div id="app"> <h3 v-text="message"></h3> <p>{{getMsg()}}</p> </div> <script src="./dist/bundle.js"></script> //函数导入应该写在vue挂载点的后面 </body>

如果将写在head中,会报如下错误

vue.esm.js:629 [Vue warn]: Cannot find element: #app vue.esm.js:629 [Vue warn]: Cannot find element: #app

原因:js在dom文档加载之前就执行了vue数据渲染,此时的dom结构还未加载,所以vue会找不到挂载点

最新回复(0)