vue-cli 工程目录结构详介绍

问题一:请说出vue-cli工程中每个文件夹和文件的用处

vue-cli目录结构:

vue-cli目录解析:

  1. build 文件夹:用于存放 webpack 相关配置和脚本。开发中仅 偶尔使用 到此文件夹下 webpack.base.conf.js 用于配置 less、sass等css预编译库,或者配置一下 UI 库。
  2. config 文件夹:主要存放配置文件,用于区分开发环境、线上环境的不同。 常用到此文件夹下 config.js 配置开发环境的 端口号、是否开启热加载 或者 设置生产环境的静态资源相对路径、是否开启gzip压缩、npm run build 命令打包生成静态资源的名称和路径等。
  3. dist 文件夹:默认 npm run build 命令打包生成的静态资源文件,用于生产部署。
  4. node_modules:存放npm命令下载的开发环境和生产环境的依赖包。
  5. src: 存放项目源码及需要引用的资源文件。
  6. src下assets:存放项目中需要用到的资源文件,css、js、images等。
  7. src下componets:存放vue开发中一些公共组件:header.vue、footer.vue等。
  8. src下emit:自己配置的vue集中式事件管理机制。
  9. src下router:vue-router vue路由的配置文件。
  10. src下service:自己配置的vue请求后台接口方法。
  11. src下page:存在vue页面组件的文件夹。
  12. src下util:存放vue开发过程中一些公共的.js方法。
  13. src下vuex:存放 vuex 为vue专门开发的状态管理器。
  14. src下app.vue:使用标签渲染整个工程的.vue组件。
  15. src下main.js:vue-cli工程的入口文件。
  16. index.html:设置项目的一些meta头信息和提供用于挂载 vue 节点。
  17. package.json:用于 node_modules资源部 和 启动、打包项目的 npm 命令管理。

问题二:config文件夹 下 index.js 的对于工程 开发环境 和 生产环境 的配置

build 对象下 对于 生产环境 的配置:

  • index:配置打包后入口.html文件的名称以及文件夹名称
  • assetsRoot:配置打包后生成的文件名称和路径
  • assetsPublicPath:配置 打包后 .html 引用静态资源的路径,一般要设置成 "./"
  • productionGzip:是否开发 gzip 压缩,以提升加载速度

dev 对象下 对于 开发环境 的配置:

  • port:设置端口号
  • autoOpenBrowser:启动工程时,自动打开浏览器
  • proxyTable:vue设置的代理,用以解决 跨域 问题
  • 问题三:请你详细介绍一些 package.json 里面的配置

常用对象解析:

  • scripts:npm run xxx 命令调用node执行的 .js 文件
  • dependencies:生产环境依赖包的名称和版本号,即这些 依赖包 都会打包进 生产环境的JS文件里面 *devDependencies:开发环境依赖包的名称和版本号,即这些 依赖包 只用于 代码开发 的时候,不会打包进 生产环境js文件 里面。

本文分享自微信公众号 - 前端迷(love_frontend)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-10-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏京程一灯

完全搞懂 Javascript 中的... [每日前端夜话0xE3]

曾几何时,ES6/ES2015 对 Javascript 语言进行了重大升级。它引入了许多不同的新功能。其中之一就是我们可以用在任何兼容容器(对象、数组、字符串...

7120
来自专栏京程一灯

你可能错过的现代 JavaScript 特性 [每日前端夜话0xE0]

尽管我在过去 7 年中几乎每天都在写 JavaScript 代码,但不得不承认,我实际上并不是很注意 ES 语言的发布声明。async/await 和 Prox...

6620
来自专栏京程一灯

sql.js:JS专用的内存型数据库[github项目精选0x01]

对于没有耐心的人,请在这里处尝试 Demo:http://kripken.github.io/sql.js/examples/GUI

11630
来自专栏彭湖湾的编程世界

来,我们手写一个简易版的mock.js吧(模拟fetch && Ajax请求)

比较符合我们使用习惯的,也许是下面这种mock方式,有一个专门的配置文件,管理请求的url和返回值。每个请求对应输出数组中的一个对象,对象的rule属性可以是一...

10530
来自专栏前端迷

vue-cli首屏优化技巧

之前用 vuecli做了个博客,是一个单页面项目,大概有十个路由 直接 npm run build打包出来,有一个 1M的巨大 js文件

7910
来自专栏京程一灯

深入理解 JavaScript 回调函数 [每日前端夜话0xDF]

JavaScript 回调函数是成为一名成功的 JavaScript 开发人员必须要了解的一个重要概念。但是我相信,在阅读本文之后,你将能够克服以前使用回调方法...

7520
来自专栏大内老A

[ASP.NET Core 3框架揭秘] 依赖注入[8]:服务实例的生命周期

生命周期决定了IServiceProvider对象采用怎样的方式提供和释放服务实例。虽然不同版本的依赖注入框架针对服务实例的生命周期管理采用了不同的实现,但总的...

9140
来自专栏京程一灯

Vue3 对 Web 应用性能的改进[每日前端夜话0xE1]

有关即将发布的 Vue.js 的第 3 个主要版本的信息越来越多。通过下面的讨论,虽然还不能完全确定其所有内容,但是我们可以放心地认为,它将是对当前版本(已经非...

9620
来自专栏京程一灯

解决 JavaScript 中处理 null 和 undefined 的麻烦事[每日前端夜话0xE6]

许多 JavaScript 开发人员正在为怎么处理可选值头痛。有什么好办法来最大程度地减少由值(可能为 null、undefined或在运行时未初始化)引起的错...

7620
来自专栏北京马哥教育

我在学习编程中犯的两个最大错误

一年前,我刚从大学毕业并且决定踏入社会。我有很多初始的想法并想将它们实现,但我不懂编程。听从 Yipit 联合创始人Vin Vacant 的建议之后,我开始自学...

9520

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励