(Vue)项目结构解析 您所在的位置:网站首页 怎样设计文件架构 (Vue)项目结构解析

(Vue)项目结构解析

2024-05-31 03:01| 来源: 网络整理| 查看: 265

(Vue)项目结构解析 前言

Vue-cli项目搭建——见Vue小白课(一)——CLI搭建项目(Vue2.x)或Vue+Node前后端项目搭建部分内容

参考文献:

vue-cli入门(二)——项目结构 | 思否-ReachelVue-cli创建vue项目以及配置文件梳理 | 思否-AshleyLvVue系列之WebPack与Eslint | 充电实践 Vue项目结构一览 ├── build --------------------------------- 项目构建(webpack)相关配置文件,配置参数什么的,一般不用动 │ ├── build.js --------------------------webpack打包配置文件 │ ├── check-versions.js ------------------------------ 检查npm,nodejs版本 │ ├── dev-client.js ---------------------------------- 设置环境 │ ├── dev-server.js ---------------------------------- 创建express服务器,配置中间件,启动可热重载的服务器,用于开发项目 │ ├── utils.js --------------------------------------- 配置资源路径,配置css加载器 │ ├── vue-loader.conf.js ----------------------------- 配置css加载器等 │ ├── webpack.base.conf.js --------------------------- webpack基本配置 │ ├── webpack.dev.conf.js ---------------------------- 用于开发的webpack设置 │ ├── webpack.prod.conf.js --------------------------- 用于打包的webpack设置 ├── config ---------------------------------- 配置目录,包括端口号等。我们初学可以使用默认的。 │ ├── dev.env.js -------------------------- 开发环境变量 │ ├── index.js ---------------------------- 项目配置文件 │ ├── prod.env.js ------------------------- 生产环境变量 │ ├── test.env.js ------------------------- 测试环境变量 ├── node_modules ---------------------------- npm 加载的项目依赖模块 ├── src ------------------------------------- 我们要开发的目录,基本上要做的事情都在这个目录里。 │ ├── assets ------------------------------ 静态文件,放置一些图片,如logo等 │ ├── components -------------------------- 组件目录,存放组件文件,可以不用。 │ ├── main.js ----------------------------- 主js │ ├── App.vue ----------------------------- 项目入口组件,我们也可以直接将组件写这里,而不使用 components 目录。 │ ├── router ------------------------------ 路由 ├── static ---------------------------- 静态资源目录,如图片、字体等。 ├── index.html ------------------------------ 首页入口文件,你可以添加一些 meta 信息或统计代码啥的。 ├── package.json ---------------------------- node配置文件,记载着一些命令和依赖还有简要的项目描述信息 ├── .README.md------------------------------- 项目的说明文档,markdown 格式。想怎么写怎么写,不会写就参照github上star多的项目,看人家怎么写的 ├── .xxxx文件:这些是一些配置文件,包括语法配置,git配置等 │ ├── .babelrc--------------------------------- babel配置文件 │ ├── .editorconfig---------------------------- 编辑器配置 │ ├── .eslintignore------------------------------- 配置需要或略的路径,一般build、config、dist、test等目录都会配置忽略 │ ├── .eslintrc.js ------------------------------- 配置代码格式风格检查规则 │ ├── .gitignore------------------------------- 配置git可忽略的文件 │ ├── .postcssrc.js ------------------------------- css转换工具

在webpack的配置文件里,设置了main.js是入口文件,我们的项目默认访问index.html,这个文件里面和App.vue组件里面的容器完美的重合了,也就是把组件挂载到了index页面,然后我们只需要去建设其他组件就好了,在App组件中我们也可以引入,注册,应用其他组件,可以通过路由将其他组件渲染在App组件,这样我们就只需要去关注每个组件的功能完善。

就是说vue的默认页面是index.html,index中的挂载了App.vue这个大组件,然后所有的其他子组件(hello.vue等)都归属在App.vue这个主组件下。

主要文件详解 src——[项目核心文件]

在vue-cli的项目中,其中src文件夹是必须要掌握的,因为基本上要做的事情都在这个目录里。

index.html——[主页]

index.html如其他html一样,但一般只定义一个空的根节点,在main.js里面定义的实例将挂载在根节点下,内容都通过vue组件来填充

vuedemo App.vue——[根组件]

一个vue页面通常由三部分组成:模板(template)、js(script)、样式(style)

export default { name: 'app' } #app { font-family: 'Avenir', Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-align: center; color: #2c3e50; margin-top: 60px; }

【template】

其中模板只能包含一个父节点,也就是说顶层的div只能有一个(例如上面代码,父节点为#app的div,其没有兄弟节点)

是子路由视图,后面的路由页面都显示在此处

打一个比喻吧,类似于一个插槽,跳转某个路由时,该路由下的页面就插在这个插槽中渲染显示

【script】

vue通常用es6来写,用export default导出,其下面可以包含数据data,生命周期(mounted等),方法(methods)等,具体语法请看vue.js文档。

【style】

样式通过style标签包裹,默认是影响全局的,如需定义作用域只在该组件下起作用,需在标签上加scoped.

如要引入外部css文件,首先需给项目安装css-loader依赖包,打开cmd,进入项目目录,输入npm install css-loader,回车。

安装完成后,就可以在style标签下import所需的css文件,例如:

import './assets/css/public.css' main.js——[入口文件]

main.js主要是引入vue框架,根组件及路由设置,并且定义vue实例,下面的 components:{App}就是引入的根组件App.vue

后期还可以引入插件,当然首先得安装插件。

/*引入vue框架*/ import Vue from 'vue' /*引入根组件*/ import App from './App' /*引入路由设置*/ import router from './router' /*关闭生产模式下给出的提示*/ Vue.config.productionTip = false /*定义实例*/ new Vue({ el: '#app', router, template: '', components: { App } }) router——[路由配置]

vue-router是Vue.js官方的路由插件,它和vue.js是深度集成的,适合用于构建单页面应用。vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来。

router文件夹下,有一个index.js,即为路由配置文件。

/*引入vue框架*/ import Vue from 'vue' /*引入路由依赖*/ import Router from 'vue-router' /*引入页面组件,命名为Hello*/ import Hello from '@/components/Hello' /*使用路由依赖*/ Vue.use(Router) /*定义路由*/ export default new Router({ routes: [ { path: '/', name: 'Hello', component: Hello } ] })

这里定义了路径为’/'的路由,该路由对应的页面是Hello组件,所以当我们在浏览器url访问http://localhost:8080/#/时就渲染的Hello组件

类似的,我们可以设置多个路由,‘/index’,'/list’之类的,当然首先得引入该组件,再为该组件设置路由。

其他配置文件

主要包括webpack的配置,项目配置,项目依赖等等。

详情可参考以下文章:

Vue-cli创建vue项目以及配置文件梳理 | 思否-AshleyLv vue 模板文件

这是我自己做的一个vue模板文件,符合Eslint规则

// 这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等) // 例如:import 《组件名称》 from '《组件路径》' export default { // import引入的组件需要注入到对象中才能使用 components: {}, data() { // 这里存放数据 return { } }, // 监听属性 类似于data概念 computed: {}, // 监控data中的数据变化 watch: {}, // 生命周期 - 创建完成(可以访问当前this实例) created() { }, // 生命周期 - 挂载完成(可以访问DOM元素) mounted() { }, beforeCreate() {}, // 生命周期 - 创建之前 created() {}, // 生命周期 - 创建之后 beforeMount() {}, // 生命周期 - 挂载之前 mounted() {}, //生命周期 - 挂载之后 beforeUpdate() {}, // 生命周期 - 更新之前 updated() {}, // 生命周期 - 更新之后 beforeDestroy() {}, // 生命周期 - 销毁之前 destroyed() {}, // 生命周期 - 销毁完成 activated() {}, // 如果页面有keep-alive缓存功能,这个函数会触发 // 方法集合 methods: { } } //@import url(); 引入公共css类 总结

vue-cli给创建vue项目提供了很大的便利。但是同时大量的第三方库的使用,会让打包后的js变的很大,所以还是要熟悉配置,熟悉第三方插件的使用,才可以开发更高效的开发web应用。这里把vue-cli的一些相关内容给自己做一个总结,便于以后查阅。也是希望对其他开发者有帮助。有不足之处请指正。

路漫漫其修远兮,与诸君共勉。

作者:豆包君 链接:https://juejin.cn/post/6844903761475797006 来源:掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有