You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
115 lines
3.5 KiB
115 lines
3.5 KiB
/* |
|
* Licensed to the Apache Software Foundation (ASF) under one or more |
|
* contributor license agreements. See the NOTICE file distributed with |
|
* this work for additional information regarding copyright ownership. |
|
* The ASF licenses this file to You under the Apache License, Version 2.0 |
|
* (the "License"); you may not use this file except in compliance with |
|
* the License. You may obtain a copy of the License at |
|
* |
|
* http://www.apache.org/licenses/LICENSE-2.0 |
|
* |
|
* Unless required by applicable law or agreed to in writing, software |
|
* distributed under the License is distributed on an "AS IS" BASIS, |
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
* See the License for the specific language governing permissions and |
|
* limitations under the License. |
|
*/ |
|
|
|
var fs = require('fs') |
|
var path = require('path') |
|
var request = require('request') |
|
var cdnUrl = 'https://s1.analysys.cn/libs/??' |
|
var version = '1.0.0' |
|
|
|
// js集合 |
|
var jslibs = { |
|
'es5': [ |
|
'es5-shim/4.5.7/es5-shim.min.js', |
|
'es5-shim/4.5.7/es5-sham.min.js' |
|
], |
|
'3rd': [ |
|
'vue/2.5.2/vue.js', |
|
'vue-router/2.7.0/vue-router.min.js', |
|
'vuex/3.0.0/vuex.min.js', |
|
'jquery/3.3.1/jquery.min.js', |
|
'lodash.js/4.17.5/lodash.min.js', |
|
'jqueryui/1.12.1/jquery-ui.min.js', |
|
'twitter-bootstrap/3.3.7/js/bootstrap.min.js', |
|
'jsPlumb/2.8.5/js/jsplumb.min.js', |
|
'clipboard.js/2.0.1/clipboard.min.js', |
|
'd3/3.3.6/d3.min.js', |
|
'echarts/4.1.0/echarts.min.js', |
|
'dayjs/1.7.8/dayjs.min.js', |
|
'codemirror/5.43.0/codemirror.min.js', |
|
'codemirror/5.43.0/mode/sql/sql.min.js', |
|
'codemirror/5.43.0/addon/hint/show-hint.min.js', |
|
'codemirror/5.43.0/addon/hint/sql-hint.min.js', |
|
'codemirror/5.43.0/mode/textile/textile.min.js', |
|
'codemirror/5.43.0/mode/shell/shell.min.js', |
|
'codemirror/5.43.0/mode/python/python.min.js', |
|
'codemirror/5.43.0/addon/hint/xml-hint.min.js', |
|
'codemirror/5.43.0/mode/xml/xml.min.js', |
|
'html2canvas/0.5.0-beta4/html2canvas.min.js', |
|
'canvg/1.5/canvg.min.js' |
|
], |
|
'local': [] |
|
} |
|
|
|
// css集合 |
|
csslibs = { |
|
'base': [ |
|
'normalize/7.0.0/normalize.min.css', |
|
'twitter-bootstrap/3.3.7/css/bootstrap.min.css', |
|
'-/@analysys/reset.css@1.0.1', |
|
'-/@vue/animate.css@' |
|
], |
|
'3rd': [ |
|
'highlight.js/9.13.1/styles/vs.min.css', |
|
'jsPlumb/2.8.5/css/jsplumbtoolkit-defaults.min.css', |
|
'codemirror/5.43.0/codemirror.min.css', |
|
'codemirror/5.20.0/theme/mdn-like.min.css', |
|
'codemirror/5.43.0/addon/hint/show-hint.min.css' |
|
] |
|
} |
|
|
|
// 创建文件夹目录 |
|
var dirPath = path.resolve(__dirname, '..', 'src/combo/' + version) |
|
|
|
if (!fs.existsSync(dirPath)) { |
|
fs.mkdirSync(dirPath) |
|
console.log('文件夹创建成功') |
|
} else { |
|
console.log('文件夹已存在') |
|
} |
|
|
|
var jsKeys = Object.keys(jslibs) |
|
var jsUrl = jsKeys.map(v => { |
|
return jslibs[v].join() |
|
}) |
|
|
|
jsUrl.forEach((v, i) => { |
|
var url = cdnUrl + v |
|
console.log(url) |
|
var stream = fs.createWriteStream(path.join(dirPath, jsKeys[i] + '.js'), { encoding: 'utf-8' }) |
|
request(url).pipe(stream).on('close', function (err) { |
|
if (!err) { |
|
console.log('文件[' + version + '/' + jsKeys[i] + '.js' + ']下载完毕') |
|
} |
|
}) |
|
}) |
|
|
|
var cssKeys = Object.keys(csslibs) |
|
var cssUrl = cssKeys.map(v => { |
|
return csslibs[v].join() |
|
}) |
|
|
|
cssUrl.forEach((v, i) => { |
|
var url = cdnUrl + v |
|
console.log(url) |
|
var stream = fs.createWriteStream(path.join(dirPath, cssKeys[i] + '.css'), { encoding: 'utf-8' }) |
|
request(url).pipe(stream).on('close', function (err) { |
|
if (!err) { |
|
console.log('文件[' + version + '/' + cssKeys[i] + '.css' + ']下载完毕') |
|
} |
|
}) |
|
})
|
|
|