check-versions.js
//定制控制臺(tái)日志的輸入樣式 var chalk = require("chalk") // 加載語(yǔ)義化版本測(cè)試庫(kù) var semver = require("semver") // 引入package.json文件 var packageConfig = require("../package.json") function exec(cmd) { // require("child_process")調(diào)用nodejs子進(jìn)程, // execSync同步的exec方法執(zhí)行command return require("child_process").execSync(cmd).toString().trim() } var versionRequirements = [{ name: "node", // process.version是當(dāng)前使用的node版本信息"v7.1.0" // semver.clean(" =v1.2.3 ")返回"1.2.3" // semver.clean(process.version)格式化返回當(dāng)前使用的node版本信息"7.1.0" currentVersion: semver.clean(process.version), // 從package.json讀取node版本要求 versionRequirement: packageConfig.engines.node }, { name: "npm", currentVersion: exec("npm --version"), // 從package.json讀取npm版本要求 versionRequirement: packageConfig.engines.npm }] module.exports = function() { var warnings = [] for (var i = 0; i < versionRequirements.length; i++) { var mod = versionRequirements[i] // 判斷現(xiàn)有版本是否滿(mǎn)足要求 if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) { warnings.push(mod.name + ": " + chalk.red(mod.currentVersion) + " should be " + chalk.green(mod.versionRequirement) ) } } // 打印錯(cuò)誤信息 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() // 按照l(shuí)inux的規(guī)范,一般成功用0表示,而非0則表示失敗。存在不滿(mǎn)足版本要求的模塊,執(zhí)行失敗 process.exit(1) } }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/109653.html
摘要:前言使用過(guò)進(jìn)行項(xiàng)目開(kāi)發(fā)的同學(xué),一定知道或者使用過(guò)腳手架,他能夠很好的搭建項(xiàng)目結(jié)構(gòu)和工程,讓我們能夠把足夠的精力放在業(yè)務(wù)開(kāi)發(fā)上。對(duì)象提供一系列屬性,用于返回系統(tǒng)信息返回當(dāng)前進(jìn)程的命令行參數(shù)數(shù)組。 前言 使用過(guò) vue 進(jìn)行項(xiàng)目開(kāi)發(fā)的同學(xué),一定知道或者使用過(guò) vue-cli 腳手架,他能夠很好的搭建項(xiàng)目結(jié)構(gòu)和工程,讓我們能夠把足夠的精力放在業(yè)務(wù)開(kāi)發(fā)上。也正是因?yàn)檫@樣,很多時(shí)候我們會(huì)因?yàn)轫?xiàng)目...
相信vue使用者對(duì)vue-cli都不會(huì)陌生,甚至可以說(shuō),很熟悉了,但對(duì)其webpack的配置可能知之甚少吧。 過(guò)完年回來(lái)后,我接手了公司的新項(xiàng)目。新項(xiàng)目是一個(gè)spa。很自然,我就想到了vue-cli腳手架了,當(dāng)時(shí)研究一下它的webpack配置。于是,就有了其他的內(nèi)容。 今天這篇文章,是在原來(lái)的基礎(chǔ)上,增加了一些新版本的內(nèi)容,但實(shí)質(zhì)上變化不大。 說(shuō)明 此倉(cāng)庫(kù)為vue-cli webpack的配置分析...
摘要:神一樣的存在。所以呢,就利用兩天時(shí)間,參考了一些他人的文章,查閱了一些官方的配置,就在此先稍微記錄一下。這份配置解析是基于最新版本的。不過(guò),我非常建議,先別看我的文章,自己一句一句的通讀一遍。和中的配置含義相似。 webpack--神一樣的存在。無(wú)論寫(xiě)了多少次,再次相見(jiàn),仍是初見(jiàn)。有的時(shí)候開(kāi)發(fā)vue項(xiàng)目,對(duì)尤大的vue-cli感激涕零。但是,但是,但是。。。不是自己的東西,真的很不想折...
摘要:基礎(chǔ)與項(xiàng)目構(gòu)建入門(mén)最近兩年,同學(xué)們出去討論前端的框架,相信大家對(duì)也并不陌生,并稱(chēng)前端三大框架各有各的特色,在這里說(shuō)一下,我們非常有必要學(xué)習(xí)這些東西,不管是求職面試,還是公司需要什么是讀音,類(lèi)似于是一套構(gòu)建用戶(hù)界面的漸進(jìn)式框架。 vue基礎(chǔ)與項(xiàng)目構(gòu)建入門(mén) 最近兩年,同學(xué)們出去討論前端的框架,相信大家對(duì)vue也并不陌生,vue、angular、React并稱(chēng)前端三大框架!各有各的特色,在這...
摘要:前端開(kāi)發(fā)過(guò)程中需要使用到后臺(tái)的的話(huà),可以通過(guò)配置來(lái)將相應(yīng)的后臺(tái)請(qǐng)求代理到專(zhuān)用的服務(wù)器。主要完成下面幾件事情合并基礎(chǔ)的配置配置樣式文件的處理規(guī)則,配置的輸出配置插件模式下的插件配置分析說(shuō)明插件里面多了丑化壓縮代碼以及抽離文件等插件。 [toc] 目錄 結(jié)構(gòu)預(yù)覽 ├─build // 保存一些webpack的初始化配置,項(xiàng)目構(gòu)建 │ ├─build.js ...
閱讀 991·2021-11-23 09:51
閱讀 2704·2021-08-23 09:44
閱讀 666·2019-08-30 15:54
閱讀 1440·2019-08-30 13:53
閱讀 3114·2019-08-29 16:54
閱讀 2533·2019-08-29 16:26
閱讀 1200·2019-08-29 13:04
閱讀 2327·2019-08-26 13:50