build.js (847B)
1 #!/usr/bin/env node 2 3 const vuePlugin = require("esbuild-plugin-vue3"); 4 const esbuild = require("esbuild"); 5 const rimraf = require("rimraf"); 6 const copydir = require("copy-dir"); 7 const less = require('less'); 8 const fs = require('fs'); 9 10 const destDir = __dirname + "/dist"; 11 12 (async () => { 13 14 // Prepare static 15 // await new Promise(r => rimraf(__dirname + "/dist", r)); 16 await new Promise(r => copydir(__dirname + "/public", destDir, r)); 17 18 // Compile less 19 const lessSource = fs.readFileSync(destDir + '/global.less').toString(); 20 const compiled = await less.render(lessSource); 21 fs.writeFileSync(destDir + '/global.css', compiled.css); 22 23 // Build vue 24 await esbuild.build({ 25 plugins: [vuePlugin()], 26 entryPoints: [__dirname + "/src/main.js"], 27 bundle: true, 28 outfile: __dirname + "/dist/main.js" 29 }); 30 31 32 })();