@H_301_0@
vue-cli的模板
@H_301_0@vue-cli的项目结构
代码
| |-- 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 // 项目基本信息
@H_301_0@package.json文件
@H_301_0@package.json文件是项目根目录下的一个文件,定义该项目开发所需要的各种模块以及一些项目配置信息(如项目名称、版本、描述、作者等)。 @H_301_0@自定义npm相关命令
@H_301_0@在package.json文件里有一个scripts字段。dependencies字段和devDependencies字段
- dependencies字段指定了项目运行时所依赖的模块
- devDependencies字段指定了项目开发时所依赖的模块(项目环境依赖)
- 在命令行中运行npm install命令,会自动安装dependencies和devDependencies字段中的模块。
webpack配置相关
@H_301_0@详情在webpack相关博客 @H_301_0@dev-server.js
页面重新加载
compiler.plugin('compilation',function (compilation) {
compilation.plugin('html-webpack-plugin-after-emit',function (data,cb) {
hotMiddleware.publish({ action: 'reload' })
cb()
})
})
@H_301_0@webpack.base.conf.js
文件
entry: {},// 编译输出路径
output: {},// 一些解决方案配置
resolve: {},resolveLoader: {},module: {
// 各种不同类型文件加载器配置
loaders: {
...
...
// js文件用babel转码
{
test: /\.js$/,loader: 'babel',include: projectRoot,// 哪些文件不需要转码
exclude: /node_modules/
},...
...
}
},// vue文件一些相关配置
vue: {}
}
@H_301_0@check-version.js
@H_301_0@这个文件主要是用来检测当前环境中的node和npm版本和我们需要的是否一致的。文件
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)
)
}
}
...
}
@H_301_0@.babelrc
@H_301_0@Babel解释器的配置文件,存放在根目录下。Babel是一个转码器,项目里需要用它将ES6代码转为ES5代码插件
"plugins": ["transform-runtime"],"comments": false
@H_301_0@.editorconfig
@H_301_0@该文件定义项目的编码规范,编辑器的行为会与.editorconfig 文件中定义的一致,并且其优先级比编辑器自身的设置要高,这在多人合作开发项目时十分有用而且必要。文件应用下面的规则
charset = utf-8 // 编码规则用utf-8
indent_style = space // 缩进用空格
indent_size = 2 // 缩进数量为2个空格
end_of_line = lf // 换行符格式
insert_final_newline = true // 是否在文件的最后插入一个空行
trim_trailing_whitespace = true // 是否删除行尾的空格
@H_301_0@以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。