bytenode.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. "use strict"
  2. const path = require('path')
  3. const bytenode = require('bytenode')
  4. const fs = require('fs')
  5. const v8 = require("v8")
  6. v8.setFlagsFromString('--no-lazy');
  7. //将文件核心文件进行加密 main文件
  8. const rpath = path.join(__dirname, '../dist/electron/main.js')
  9. // let cpath = '';
  10. try {
  11. bytenode.compileFile({
  12. filename: rpath,
  13. electron: true,
  14. compileAsModule: true
  15. });
  16. fs.writeFileSync(rpath, `'use strict';require('bytenode');require('./main.jsc');`,'utf8')
  17. } catch (err) {
  18. console.error(`run_bytenode_err:${err}`)
  19. }
  20. //renderer文件
  21. const rendpath = path.join(__dirname, '../dist/electron/renderer.js')
  22. // let cpath = '';
  23. try {
  24. bytenode.compileFile({
  25. filename: rendpath,
  26. electron: true,
  27. compileAsModule: true
  28. });
  29. fs.writeFileSync(rendpath, `'use strict';require('bytenode');require('./renderer.jsc');`,'utf8')
  30. } catch (err) {
  31. console.error(`run_bytenode_err:${err}`)
  32. }
  33. // try {
  34. // console.error(rpath)
  35. // const first =fs.readdirSync(rpath)
  36. // (async function(arrFile){
  37. // for(const fitem of arrFile){
  38. // console.error(fitem)
  39. // if(!fs.statSync(path.join(rpath,fitem)).isFile()||!(/[a-z]\w+\.js$/.test(fitem))) continue;
  40. // cpath = path.join(rpath,fitem);
  41. // try{
  42. // await bytenode.compileFile({
  43. // filename:cpath,
  44. // electron:true,
  45. // compileAsModule:true
  46. // });
  47. // fs.writeFileSync(cpath,`'use strict;require('bytenode');require('./${fitem}c');','utf8'`)
  48. // }catch(err){
  49. // console.error(`run_bytenode_err:${err}`)
  50. // }
  51. // }
  52. // })(first)
  53. // } catch (error) {
  54. // console.error(`read_builddir_err:${error}`)
  55. // }