分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

vue-cli脚手架build目录中check-versions.js的配置

发布时间:2023-09-06 01:30责任编辑:沈小雨关键词:js配置

转载自:https://www.cnblogs.com/ye-hcj/p/7074363.html

本文介绍vue-cli脚手架build目录中check-versions.js的配置

  1. 本文件是用来检测node和npm版本的
  2. 直接上代码加注释

  

// 下面的插件是chalk插件,他的作用是在控制台中输出不同的颜色的字,大致这样用chalk.blue(‘Hello world‘),这款插件只能改变命令行中的字体颜色
var chalk = require(‘chalk‘)
// 下面这个是semver插件,是用来对特定的版本号做判断的,
比如 // semver.gt(‘1.2.3‘,‘9.8.7‘) false 1.2.3版本比9.8.7版本低
// semver.satisfies(‘1.2.3‘,‘1.x || >=2.5.0 || 5.0.0 - 7.2.3‘) true 1.2.3的版本符合后面的规则var semver = require(‘semver‘)
// 下面是导入package.json文件,要使用里面的engines选项,要注意require是直接可以导入json文件的,并且requrie返回的就是json对象var packageConfig = require(‘../package.json‘)
// 下面这个插件是shelljs,作用是用来执行Unix系统命令var shell = require(‘shelljs‘)
// 下面涉及了很多Unix命令,这里可能解释的不够详细,第一时间精力有限,第二能力有限。。。function exec (cmd) {
//脚本可以通过 child_process 模块新建子进程,从而执行 Unix 系统命令
//下面这段代码实际就是把cmd这个参数传递的值转化成前后没有空格的字符串,也就是版本号 ?return require(‘child_process‘).execSync(cmd).toString().trim()}var versionRequirements = [ ?{ ???name: ‘node‘,// node版本的信息 ???currentVersion: semver.clean(process.version),// 使用semver插件吧版本信息转化成规定格式,也就是 ‘ =v1.2.3 ‘ -> ‘1.2.3‘ 这种功能 ???versionRequirement: packageConfig.engines.node// 这是规定的pakage.json中engines选项的node版本信息 "node":">= 4.0.0" ?},]if (shell.which(‘npm‘)) { ?versionRequirements.push({ ???name: ‘npm‘, ???currentVersion: exec(‘npm --version‘),  // 自动调用npm --version命令,并且把参数返回给exec函数,从而获取纯净的版本号 ???versionRequirement: packageConfig.engines.npm // 这是规定的pakage.json中engines选项的node版本信息 "npm": ">= 3.0.0" ?})}module.exports = function () { ?var warnings = [] ?for (var i = 0; i < versionRequirements.length; i++) { ???var mod = versionRequirements[i] ???if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) {
  //上面这个判断就是如果版本号不符合package.json文件中指定的版本号,就执行下面的代码 ?????warnings.push(mod.name + ‘: ‘ + ???????chalk.red(mod.currentVersion) + ‘ should be ‘ + ???????chalk.green(mod.versionRequirement)
    // 大致意思就是 把当前版本号用红色字体 符合要求的版本号用绿色字体 给用户提示具体合适的版本 ?????) ???} ?} ?if (warnings.length) { ???console.log(‘‘) ???console.log(chalk.yellow(‘To use this template, you must update following to modules:‘)) ???console.log() ???for (var i = 0; i < warnings.length; i++) { ?????var warning = warnings[i] ?????console.log(‘ ?‘ + warning) ???} ???console.log() ???process.exit(1)
// 提示用户更新版本,具体不解释了,应该能看懂 ?}}

11

vue-cli脚手架build目录中check-versions.js的配置

原文地址:http://www.cnblogs.com/wulinzi/p/8036755.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved