讀寫檔案
fs; path
var fs = require('fs');
var path = require('path');
//__dirname:全域性變數,儲存的是檔案所在的檔案目錄
把乙個路徑或路徑片段的序列解析為乙個絕對路徑。
//讀檔案
var readfile = fs.readfilesync(path.resolve(__dirname, '../../src/test.js'), 'utf8');
var jsonobject=json.parse(readfile);
//寫檔案
fs.writefile(path.resolve(__dirname, '../../dist/dist.js'), json.stringify(jsonobject));
通過postcss解析檔案
postcss
var postcss = require('postcss');
var fs = require('fs');
var path = require('path');
var fontfile = fs.readfilesync(path.resolve(__dirname, '../../packages/theme-chalk/src/icon.scss'), 'utf8');
var nodes = postcss.parse(fontfile).nodes;
var classlist = ;
nodes.foreach((node) =>
});fs.writefile(path.resolve(__dirname, '../../examples/icon.json'), json.stringify(classlist));
使用json-templater和uppercamelcase做模板字元替換和駝峰規範
uppercamelcase使用例項
const uppercamelcase = require('uppercamelcase');
uppercamelcase('foo-bar');
//=> foobar
uppercamelcase('foo_bar');
//=> foobar
uppercamelcase('foo-bar');
//=> foobar
uppercamelcase('--foo.bar');
//=> foobar
uppercamelcase('__foo__bar__');
//=> foobar
uppercamelcase('foo bar');
//=> foobar
console.log(process.ar**[3]);
//=> --foo-bar
uppercamelcase(process.ar**[3]);
//=> foobar
uppercamelcase('foo', 'bar');
//=> 'foobar'
uppercamelcase('__foo__', '--bar');
//=> 'foobar'
json-templater和uppercamelcase組合使用例項
var components = require('../../components.json');
var fs = require('fs');
var render = require('json-templater/string');
var uppercamelcase = require('uppercamelcase');
var path = require('path');
/**乙個字串常量,定義作業系統相關的行末標誌:
\n 在 posix 系統上
\r\n 在 windows系統上
**/var endofline = require('os').eol;
var output_path = path.join(__dirname, '../../src/index.js');
var import_template = 'import } from \'../packages/}/index.js\';';
var install_component_template = ' }';
var main_template = `/* automatically generated by './build/bin/build-entry.js' */
}import locale from 'element-ui/src/locale';
import collapsetransition from 'element-ui/src/transitions/collapse-transition';
const components = [
}, collapsetransition
];const install = function(vue, opts = {}) );
vue.use(loading.directive);
const element = {};
element.size = opts.size || '';
vue.prototype.$loading = loading.service;
vue.prototype.$msgbox = messagebox;
vue.prototype.$alert = messagebox.alert;
vue.prototype.$confirm = messagebox.confirm;
vue.prototype.$prompt = messagebox.prompt;
vue.prototype.$notify = notification;
vue.prototype.$message = message;
vue.prototype.$element = element;
};/* istanbul ignore if */
if (typeof window !== 'undefined' && window.vue) ;
module.exports = }',
locale: locale.use,
i18n: locale.i18n,
install,
collapsetransition,
loading,}};
module.exports.default = module.exports;
`;delete components.font;
var componentnames = object.keys(components);
var includecomponenttemplate = ;
var installtemplate = ;
var listtemplate = ;
componentnames.foreach(name => ));
if (['loading', 'messagebox', 'notification', 'message'].indexof(componentname) === -1) ));
} if (componentname !== 'loading') listtemplate.push(` $`);
});var template = render(main_template, );
fs.writefilesync(output_path, template);
console.log('[build entry] done:', output_path);
Gulp 自動化構建
use gulp 官網 編譯 sass 合併優化壓縮 css 校驗壓縮 js 優化新增檔案指紋 md5 元件化頭部底部 include html 實時自動重新整理 gulp是前端開發過程中對 進行自動化構建的利器。它不僅能對資源進行優化,而且在開發過程中能夠通過配置自動完成很多重複的任務,讓我們可以...
自動化構建Jenkins fastlane
參考 自動化查詢描述檔案 安裝之前 對應的uuid 參考鏈結 檢視簽名檔案,teamid 描述檔案路徑 相互關係 命令列提示沒有登入 jenkins的工作區目錄 jenkins環境配置 同道中人 shell 報錯倉庫位址 配的那個token不是用來登入git倉庫的原始碼管理的憑據和 api的憑據不是...
jenkins自動化構建搭建
使用jenkins搭建自動化部署方案,可以省去不斷的去部署工程工程的麻煩,也有利於管理稍大團隊的開發。主要步驟有 以j a為主 1.在伺服器中搭建搭建開發環境j a的jdk和m en。3.採用命令列 j a jar jenkins.war啟動jenkins,訪問 http localhost 808...