• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

vue脚手架vue-cli的学习使用教程

vue 搞代码 4年前 (2022-01-08) 18次浏览 已收录 0个评论

本篇文章主要介绍了vue脚手架vue-cli的学习使用教程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

vue-cli的模板

  1. vue-cli的脚手架项目模板有webpack-simple 和 webpack
  2. 两种的区别在于webpack-simple 没有包括Eslint 检查等功能

vue-cli的项目结构

 . |-- build              // 项目构建(webpack)相关代码 |  |-- build.js           // 生产环境构建代码 |  |-- check-version.js       // 检查node、npm等版本 |  |-- dev-client.js        // 热重载相关 |  |-- dev-server.js        // 构建本地服务器 |  |-- utils.js           // 构建工具相关 |  |-- 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         // 测试环境变量 |-- src               // 源码目录 |  |-- components           // vue公共组件 |  |-- store             // vuex的状态管理 |  |-- App.vue            // 页面入口文件 |  |-- main.js            // 程序入口文件,加载各种公共组件 |-- static              // 静态文件,比如一些图片,json数据等 |  |-- data              // 群聊分析得到的数据用于数据可视化 |-- .babelrc             // ES6语法编译配置 |-- .editorconfig          // 定义代码格式 |-- .gitignore            // git上传需要忽略的文件格式 |-- README.md            // 项目说明 |-- favicon.ico |-- index.html            // 入口页面 |-- package.json           // 项目基本信息 

package.json文件

package.json文件是项目根目录下的一个文件,定义该项目开发所需要的各种模块以及一些项目配置信息(如项目名称、版本、描述、作者等)。

自定义npm相关命令

在package.json文件里有一个scripts字段。

 "scripts": { "dev": "node build/dev-server.js", "build": "node build/build.js" }

在开发环境下,在命令行中运行npm run dev就相当于在执行node build/dev-server.js。所以script字段是用来指定npm相关命令的缩写的。

dependencies字段和devDependencies字段

  1. dependencies字段指定了项目运行时所依赖的模块
  2. devDependencies字段指定了项目开发时所依赖的模块(项目环境依赖)
  3. 在命令行中运行npm install命令,会自动安装dependencies和devDependencies字段中的模块。

webpack配置相关

详情在webpack相关博客

dev-server.js

 ... ... // http-proxy可以实现转发所有请求代理到后端真实API地址,以实现前后端开发完全分离 // 在config/index.js中可以对proxyTable想进行配置 var proxyMiddleware = require('http-proxy-middleware') ... ... // 热加载要使用webpack-dev-middleware在没有webpack-dev-server的时候进行热加载 var hotMiddleware = require('webpack-hot-middleware')(compiler) // 当html-webpack-plugin模板改变是强制进行页面重新加载 compiler.plugin('compilation', function (compilation) { compil<div>本文来源gaodai.ma#com搞##代!^码7网</div>ation.plugin('html-webpack-plugin-after-emit', function (data, cb) { hotMiddleware.publish({ action: 'reload' }) cb() }) }) 

webpack.base.conf.js

 ... ... module.export = { // 编译入口文件 entry: {}, // 编译输出路径 output: {}, // 一些解决方案配置 resolve: {}, resolveLoader: {}, module: { // 各种不同类型文件加载器配置 loaders: { ... ... // js文件用babel转码 { test: /\.js$/, loader: 'babel', include: projectRoot, // 哪些文件不需要转码 exclude: /node_modules/ }, ... ... } }, // vue文件一些相关配置 vue: {} } 

check-version.js

这个文件主要是用来检测当前环境中的node和npm版本和我们需要的是否一致的。

 // 加载语义化版本测试库 var semver = require('semver') // 定制控制台日志的输入样式 var chalk = require('chalk') // 引入package.json文件 var packageConfig = require('../package.json') var exec = function (cmd) { return require('child_process') .execSync(cmd).toString().trim() } // 定义node和npm版本需求所组成的数组 var versionRequirements = [ { name: 'node', currentVersion: semver.clean(process.version), versionRequirement: packageConfig.engines.node }, { name: 'npm', currentVersion: exec('npm --version'), versionRequirement: packageConfig.engines.npm } ] module.exports = function () { var warnings = [] // 依次判断版本是否符合要求 for (var i = 0; i <versionRequirements.length; i++) { var mod = versionRequirements[i] if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) { warnings.push(mod.name + ': ' + chalk.red(mod.currentVersion) + ' should be ' + chalk.green(mod.versionRequirement) ) } } ... } 

.babelrc

Babel解释器的配置文件,存放在根目录下。Babel是一个转码器,项目里需要用它将ES6代码转为ES5代码

 // 设定转码规则 "presets": ["es2015", "stage-2"], // 转码的一些插件 "plugins": ["transform-runtime"], "comments": false

.editorconfig

该文件定义项目的编码规范,编辑器的行为会与.editorconfig 文件中定义的一致,并且其优先级比编辑器自身的设置要高,这在多人合作开发项目时十分有用而且必要。

 root = true [*] // 对所有文件应用下面的规则 charset = utf-8          // 编码规则用utf-8 indent_style = space        // 缩进用空格 indent_size = 2          // 缩进数量为2个空格 end_of_line = lf          // 换行符格式 insert_final_newline = true    // 是否在文件的最后插入一个空行 trim_trailing_whitespace = true  // 是否删除行尾的空格 

以上就是vue脚手架vue-cli的学习使用教程的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:vue脚手架vue-cli的学习使用教程

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址