Commit 359a08e0c7ae884a43f11b9ce5e9fe0b4d034877
1 parent
8616363c
Exists in
master
chore: 异步编译,加快打包速度
Showing
1 changed file
with
13 additions
and
21 deletions
Show diff stats
webpack/release.js
| 1 | const fs = require('fs'); | 1 | const fs = require('fs'); |
| 2 | const path = require('path'); | 2 | const path = require('path'); |
| 3 | -const { execSync } = require('child_process'); | 3 | +const { exec } = require('child_process'); |
| 4 | 4 | ||
| 5 | const inputPath = path.resolve(__dirname, '../packages'); | 5 | const inputPath = path.resolve(__dirname, '../packages'); |
| 6 | const outputPath = path.resolve(__dirname, '../release'); | 6 | const outputPath = path.resolve(__dirname, '../release'); |
| @@ -36,35 +36,27 @@ if (fs.existsSync(outputPath)) { | @@ -36,35 +36,27 @@ if (fs.existsSync(outputPath)) { | ||
| 36 | delPath(outputPath); | 36 | delPath(outputPath); |
| 37 | } | 37 | } |
| 38 | 38 | ||
| 39 | -// 同步编译 | 39 | +// 异步编译 |
| 40 | fs.readdirSync(inputPath).forEach(name => { | 40 | fs.readdirSync(inputPath).forEach(name => { |
| 41 | const filePath = path.resolve(inputPath, name); | 41 | const filePath = path.resolve(inputPath, name); |
| 42 | if (fs.lstatSync(filePath).isDirectory()) { | 42 | if (fs.lstatSync(filePath).isDirectory()) { |
| 43 | if (fs.existsSync(path.resolve(filePath, 'index.vue'))) { | 43 | if (fs.existsSync(path.resolve(filePath, 'index.vue'))) { |
| 44 | console.log(`Build ${name}...`); | 44 | console.log(`Build ${name}...`); |
| 45 | - execSync(`vue-cli-service build --target lib --name zui-${name} --dest release/${name} packages/${name}/index.vue`, function (error, stdout, stderr) { | 45 | + exec(`vue-cli-service build --target lib --name zui-${name} --dest release/${name} packages/${name}/index.vue`, function (error, stdout, stderr) { |
| 46 | if (error) { | 46 | if (error) { |
| 47 | throw error; | 47 | throw error; |
| 48 | } | 48 | } |
| 49 | + const destPath = path.resolve(outputPath, name); | ||
| 50 | + fs.readdirSync(destPath).forEach(file => { | ||
| 51 | + if (file !== `zui-${name}.css`) { | ||
| 52 | + if (file === `zui-${name}.umd.min.js`) { | ||
| 53 | + fs.renameSync(path.resolve(destPath, file), path.resolve(destPath, `zui-${name}.js`)); | ||
| 54 | + } else { | ||
| 55 | + fs.unlinkSync(path.resolve(destPath, file)); | ||
| 56 | + } | ||
| 57 | + } | ||
| 58 | + }); | ||
| 49 | }); | 59 | }); |
| 50 | } | 60 | } |
| 51 | } | 61 | } |
| 52 | }); | 62 | }); |
| 53 | - | ||
| 54 | -// 编译完成后删除无用的文件 | ||
| 55 | -fs.readdirSync(outputPath).forEach(name => { | ||
| 56 | - const filePath = path.resolve(outputPath, name); | ||
| 57 | - if (fs.lstatSync(filePath).isDirectory()) { | ||
| 58 | - fs.readdirSync(filePath).forEach(file => { | ||
| 59 | - if (file !== `zui-${name}.css`) { | ||
| 60 | - if (file === `zui-${name}.umd.min.js`) { | ||
| 61 | - fs.renameSync(path.resolve(filePath, file), path.resolve(filePath, `zui-${name}.js`)); | ||
| 62 | - } else { | ||
| 63 | - fs.unlinkSync(path.resolve(filePath, file)); | ||
| 64 | - } | ||
| 65 | - } | ||
| 66 | - }); | ||
| 67 | - } else { | ||
| 68 | - fs.unlinkSync(path.resolve(outputPath, name)); | ||
| 69 | - } | ||
| 70 | -}); |