使用webpack使用vue

news/2024/7/10 1:51:57 标签: vue, webpack

vuejs_0">1、导入vue.js的方法

安装vue的包: cnpm i vue -S
包的查找规则:

  1. 找 项目根目录中有没有 node_modules 的文件夹
  2. 在 node_modules 中 根据包名,找对应的 vue 文件夹
  3. vue 文件夹中,找 一个叫做 package.json 的包配置文件
  4. 在 package.json 文件中,查找 一个 main 属性【main属性指定了这个包在被加载时候,的入口文件】

我们有三种方法引入:

vue_9">1、在入口文件(main.js)中引入vue.并在配置文件中修改文件路径

import Vue from 'vue'

在这里插入图片描述
将main后面改为vue.js的路径

vuejs_16">2、直接进入vue.js路径

 import Vue from '../node_modules/vue/dist/vue.js'

webpackconfigjsresolve_21">3、在webpack.config.js中添加resolve属性

main.js中

import Vue from 'vue'
 resolve: {
    alias: { // 修改 Vue 被导入时候的包的路径
    "vue$": "vue/dist/vue.js"
    }
  }

注意,每次修改都需要重新启动

vue_35">二、引入.vue文件

vue_36">1、.vue文件模板

vue"><template>
<!-- html模板 -->
  <div>
    <h1>这是登录组件</h1>
  </div>
</template>
<script>
// 业务逻辑
</script>
<style>
/* 样式 */
</style>

webpackvue_52">2、在webpack使用vue

import Vue from '../node_modules/vue/dist/vue.js'
// 1. 导入 login 组件到main入口文件中:
import login from './login.vue' 
var vm = new Vue({
  el: '#app',
  data: {
    msg: '123'
  },
   /* render: function (createElements) { 
    return createElements(login)
  } */
   render: c => c(login)
})
  

/在 webpack 中,如果想要通过 vue, 把一个组件放到页面中去展示,vm 实例中的 render 函数可以实现
默认,webpack 无法打包 .vue 文件,需要安装 相关的loader:
cnpm i vue-loader vue-template-compiler -D
在配置文件中,新增loader哦配置项 { test:/.vue$/, use: ‘vue-loader’ }
webpack.config.js中配置引包
const { VueLoaderPlugin } = require(‘vue-loader’);
plugins:[
new VueLoaderPlugin()
]
这样就能将组件渲染到页面中了
总结
总结梳理: webpack 中如何使用 vue :

  1. 安装vue的包: cnpm i vue -S
  2. 由于 在 webpack 中,推荐使用 .vue 这个组件模板文件定义组件,所以,需要安装 能解析这种文件的 loader cnpm i vue-loader vue-template-complier -D
    webpack.config.js中配置引包
    const { VueLoaderPlugin } = require(‘vue-loader’);
    plugins:[
    new VueLoaderPlugin()
    ]
  3. 在 main.js 中,导入 vue 模块 import Vue from ‘vue
  4. 定义一个 .vue 结尾的组件,其中,组件有三部分组成: template script style
  5. 使用 import login from ‘./login.vue’ 导入这个组件
  6. 创建 vm 的实例 var vm = new Vue({ el: ‘#app’, render: c => c(login) })
  7. 在页面中创建一个 id 为 app 的 div 元素,作为我们 vm 实例要控制的区域;

http://www.niftyadmin.cn/n/554838.html

相关文章

[vue2]基于vue-simple-upload的文件分片上传组件

[vue2]基于vue-simple-upload的文件分片上传组件 本文最主要参考的是这一篇&#xff0c;后端也是用django来完成。 大文件上传(秒传/断点续传)_使用Vue-Simple-Uploader插件 --Vue/Django完整实现 https://blog.csdn.net/qq_36852780/article/details/107437875 参考的代码地…

22、闭包与继承

闭包和面向对象都是面试的重点, 1.闭包 一.什么是闭包函数? 嵌套在一个函数中的函数&#xff0c;称为闭包函数。 内部函数总是可以访问其所在的外部函数中声明的参数和变量&#xff0c;即使在其外部函数被返回&#xff08;寿命终结&#xff09;了之后。 二.闭包的作用 可以在函…

07.创意菜单项悬停效果

效果 (源码最后面) 视频演示 创意菜单项悬停效果 视频地址一:https://www.bilibili.com/video/BV1za4y1t73c/ 视频地址二:https://www.ixigua.com/i6812147372131353091/ 源码 index.html <!DOCTYPE html> <html lang="en"> <head><met…

webpack vue中export default和export

导入 和 导出包的方法&#xff1a; 在 Node 中 &#xff1a; 导入模块&#xff1a;var 名称 require(模块标识符) 向外暴露成员的形式&#xff1a; module.exports{}在ES6 中&#xff0c;也通过 规范的形式&#xff0c;规定了 ES6 中如何 导入 和 导出 模块ES6中导入模块&…

[vue2]插槽的jsx写法

应用场景&#xff1a;ant design中的常用的slot写法 <TablerowKey"id"dataSource{dataSource}columns{colums}loading{tableLoading}rowSelection{{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }}pagination{{current: pageNo,pageSize,pageSiz…

这些优化技巧可以避免我们在 JS 中过多的使用 IF 语句

最近在重构代码时&#xff0c;我发现早期的代码使用太多的 if 语句&#xff0c;其程度是我从未见过的。这就是为什么我认为分享这些简单的技巧是非常重要的&#xff0c;这些技巧可以帮助我们避免过多的使用 if 语句。接下来会介绍6种方式来代替 if 的使用&#xff0c;这样做不是…

bzoj 4671: 异或图

Description 定义两个结点数相同的图 G1 与图 G2 的异或为一个新的图 G, 其中如果 (u, v) 在 G1 与 G2 中的出现次数之和为 1, 那么边 (u, v) 在 G 中, 否则这条边不在 G 中. 现在给定 s 个结点数相同的图 G1...s, 设 S {G1, G2, . . . , Gs}, 请问 S 有多少个子集的异 或为一…

在webpack中使用vue-router及路有嵌套

1、安装及导入 安装vue-router 包 cnpm i vue-router -S如果在模块化工程中&#xff0c;使用它&#xff0c;必须要通过Vue.use()明确地安装路由功能 import Vue from vue import VueRouter from vue-routerVue.use(VueRouter) //如果使用全局的script标签&#xff0c;则无须…