first commit
This commit is contained in:
1
Template/utils/.pydio
Normal file
1
Template/utils/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
89da04c5-c300-4477-ab98-827d25b9deb7
|
||||
119
Template/utils/index.js
Executable file
119
Template/utils/index.js
Executable file
@@ -0,0 +1,119 @@
|
||||
/**
|
||||
* 全局公共函数
|
||||
*/
|
||||
|
||||
// 自动打开浏览器
|
||||
const open = require("open");
|
||||
// 配置信息
|
||||
const config = require("./../config");
|
||||
// 终端输出颜色
|
||||
const clc = require("cli-color");
|
||||
// 文件操作
|
||||
const fs = require("fs");
|
||||
// 路径操作
|
||||
const path = require("path");
|
||||
// 获取文件基准地址
|
||||
const Base = path.resolve(__dirname, "../dist");
|
||||
|
||||
/**
|
||||
* 返回完整的网址
|
||||
*/
|
||||
const URL = () =>
|
||||
`${config.nodeService.host}${config.nodeService.port}/${
|
||||
config.nodeService.default
|
||||
}`;
|
||||
|
||||
/**
|
||||
* open 模块: 自动打开浏览器
|
||||
* 模块地址:https://github.com/pwnall/node-open
|
||||
*/
|
||||
const OpenBrowser = () => {
|
||||
Notice(`${config.nodeService.log}${URL()}`);
|
||||
config.nodeService.isOpenBrowser ? open(URL()) : "";
|
||||
};
|
||||
|
||||
/**
|
||||
* cli-color 模块:设置终端运行信息的颜色
|
||||
* @param {*string} log 需要log的信息
|
||||
* 模块地址: https://github.com/medikoo/cli-color
|
||||
*/
|
||||
const Notice = log => {
|
||||
// 终端输入运行的颜色
|
||||
let notice = clc.greenBright.bold;
|
||||
console.log(notice(log));
|
||||
};
|
||||
|
||||
/**
|
||||
* 当前端从src源码中删除某文件(jade,js,img,css)的时候,那么删除对应dist/中编译后文件
|
||||
* 这里我的思路有点乱,代码等待改进
|
||||
* @param {*string} filename
|
||||
*/
|
||||
const RemoveFile = filename => {
|
||||
if (SearchKey(filename, "jade")) {
|
||||
deleteFile(ReturnFullUrl(ReturnFileName(filename, "jade"), "html"));
|
||||
} else if (SearchKey(filename, "js")) {
|
||||
deleteFile(ReturnFullUrl(ReturnFileName(filename, "js"), "js"));
|
||||
} else if (SearchKey(filename, "styl") || SearchKey(filename, "mp3")) {
|
||||
Notice("忽略该文件...");
|
||||
} else if (SearchKey(filename, "css")) {
|
||||
deleteFile(ReturnFullUrl(ReturnFileName(filename, ".css"), "css"));
|
||||
} else if (SearchKey(filename, "woff2")) {
|
||||
deleteFile(ReturnFullUrl(ReturnFileName(filename, ".woff2"), "woff2"));
|
||||
} else if (SearchKey(filename, "ttf")) {
|
||||
deleteFile(ReturnFullUrl(ReturnFileName(filename, ".ttf"), "ttf"));
|
||||
} else {
|
||||
deleteFile(`${Base}/img/${filename}`);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* 返回对应文件类型的 文件地址
|
||||
* @param {*string} name 需要删除的文件名称
|
||||
* @param {*string} type 需要删除的文件类型
|
||||
*/
|
||||
const ReturnFullUrl = (name, type) => {
|
||||
switch (type) {
|
||||
case "html":
|
||||
return `${Base}/${name}${type}`;
|
||||
break;
|
||||
case "js":
|
||||
return `${Base}/js/${name}${type}`;
|
||||
break;
|
||||
case "css":
|
||||
return `${Base}/css/public/${name}.${type}`;
|
||||
break;
|
||||
case "woff2":
|
||||
return `${Base}/font/${name}.${type}`;
|
||||
break;
|
||||
case "ttf":
|
||||
return `${Base}/font/${name}.${type}`;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* 返回的文件名称,例如 index.jade,返回 index
|
||||
* @param {*string} file 文件完整名称
|
||||
* @param {*string} plug 需要检测的文件后缀
|
||||
*/
|
||||
const ReturnFileName = (file, plug) => file.replace(plug, "");
|
||||
|
||||
/**
|
||||
* 删除文件
|
||||
* @param {*string} path 文件路径
|
||||
*/
|
||||
const deleteFile = path =>
|
||||
fs.unlink(
|
||||
path,
|
||||
err => (err ? console.error(err) : Notice(`${path} 对应文件已删除...`))
|
||||
);
|
||||
|
||||
/**
|
||||
* 检索字符串中是否有匹配的字符
|
||||
* @param {*string} key 需要检索的字符串
|
||||
*/
|
||||
const SearchKey = (par, key) => (par.indexOf(key) != -1 ? true : false);
|
||||
|
||||
module.exports = { OpenBrowser, RemoveFile };
|
||||
Reference in New Issue
Block a user