vue 模块化开发

举报
yd_249383650 发表于 2023/03/18 22:42:23 2023/03/18
【摘要】 ​ 1、npm install webpack -g全局安装 webpack2、npm install -g @vue/cli-init全局安装 vue 脚手架3、初始化 vue 项目;vue init webpack appname:vue 脚手架使用 webpack 模板初始化一个 appname 项目4、启动 vue 项目;项目的 package.json 中有 scripts,代表我...

 1、npm install webpack -g

全局安装 webpack

2、npm install -g @vue/cli-init

全局安装 vue 脚手架

3、初始化 vue 项目;

vue init webpack appname:vue 脚手架使用 webpack 模板初始化一个 appname 项目

4、启动 vue 项目;

项目的 package.json 中有 scripts,代表我们能运行的命令

npm start = npm run dev:启动项目

npm run build:将项目打包

5、模块化开发

1、项目结构

编辑


运行流程

 进入页面首先加载 index.html 和 main.js 文件。

 main.js 导入了一些模块【vue、app、router】,并且创建 vue 实例,关联 index.html

页面的

元素。使用了 router,导入了 App 组件。并且使用标签 引用了这个组件

 第一次默认显示 App 组件。App 组件有个图片和,所以显示了图片。 但是由于代表路由的视图,默认是访问/#/路径(router 路径默认使用

HASH 模式)。在 router 中配置的/是显示 HelloWorld 组件。

 所以第一次访问,显示图片和 HelloWorld 组件。

 我们尝试自己写一个组件,并且加入路由。点击跳转。需要使用Go to Foo标签

 2、Vue 单文件组件

Vue 单文件组件模板有三个部分;

<template>
<div class="hello">
<h1>{{ msg }}</h1>
</div>
</template>
<script>

export default {

name: 'HelloWorld',

data () {

return {

msg: 'Welcome to Your Vue.js App'

}
}
}

</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->

<style scoped>

h1, h2 {

font-weight: normal;
}

</style>

Template:编写模板

Script:vue 实例配置

Style:样式

3、vscode 添加用户代码片段(快速生成 vue 模板) 

文件-->首选项-->用户代码片段-->点击新建代码片段--取名 vue.json 确定

{

"生成 vue 模板": {

"prefix": "vue",

"body": [

"<template>",

"<div></div>",

"</template>",
"",

"<script>",

"//这里可以导入其他文件(比如:组件,工具 js,第三方插件 js,json

文件,图片文件等等)",

"//例如:import 《组件名称》 from '《组件路径》';",

"",

"export default {",

"//import 引入的组件需要注入到对象中才能使用",

"components: {},",

"props: {},",

"data() {",

"//这里存放数据",

"return {",

"",

"};",

"},",

"//计算属性 类似于 data 概念",

"computed: {},",

"//监控 data 中的数据变化",

"watch: {},",

"//方法集合",

"methods: {",

"",

"},",

"//生命周期 - 创建完成(可以访问当前 this 实例)",

"created() {",

"",

"},",

"//生命周期 - 挂载完成(可以访问 DOM 元素)",

"mounted() {",

"",

"},",

"beforeCreate() {}, //生命周期 - 创建之前",

"beforeMount() {}, //生命周期 - 挂载之前",

"beforeUpdate() {}, //生命周期 - 更新之前",

"updated() {}, //生命周期 - 更新之后",

"beforeDestroy() {}, //生命周期 - 销毁之前",

"destroyed() {}, //生命周期 - 销毁完成",

"activated() {}, //如果页面有 keep-alive 缓存功能,这个函数会触发

",

"}",

"</script>",

"<style lang='scss' scoped>",

"//@import url($3); 引入公共 css 类",
"$4",

"</style>"

],

"description": "生成 vue 模板"

}
}

4、导入 element-ui 快速开发

1、安装 element-ui: npm i element-ui

2、在 main.js 中引入 element-ui 就可以全局使用了。

import ElementUI from 'element-ui' import 'element-ui/lib/theme-chalk/index.css' Vue.use(ElementUI)

3、将 App.vue 改为 element-ui 中的后台布局

4、添加测试路由、组件,测试跳转逻辑

(1) 、参照文档 el-menu 添加 router 属性

(2) 、参照文档 el-menu-item 指定 index 需要跳转的地址

五、Babel

Babel 是一个 JavaScript 编译器,我们可以使用 es 的最新语法编程,而不用担心浏览器兼 容问题。他会自动转化为浏览器兼容的代码

六、Webpack

自动化项目构建工具。gulp 也是同类产品




【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。