1 | const fs = require('fs');
|
2 | const path = require('path');
|
3 | const babylon = require('babylon');
|
4 | const traverse = require("babel-traverse").default;
|
5 | const generator = require("babel-generator").default;
|
6 | const t = require("babel-types");
|
7 |
|
8 | Route = function(){
|
9 |
|
10 | };
|
11 |
|
12 | Route.deleteRoute = function(name){
|
13 | var fileContent = fs.readFileSync(path.resolve('./src/routes/index.js') ,'utf-8');
|
14 | fileContent = fileContent.replace(new RegExp(`\{[^}]*\/\* webpackChunkName\: '${name}' [^}]*\},`, 'm'),'');
|
15 | fs.writeFileSync(path.resolve('./src/routes/index.js') ,fileContent ,'utf-8');
|
16 |
|
17 | fileContent = fs.readFileSync(path.resolve('./src/routes/index.dev.js') ,'utf-8');
|
18 | fileContent = fileContent.replace(new RegExp(`\{[^}]*\/\* webpackChunkName\: '${name}' [^}]*\},`, 'm'),'');
|
19 | fs.writeFileSync(path.resolve('./src/routes/index.dev.js') ,fileContent ,'utf-8');
|
20 |
|
21 | console.log('done');
|
22 | };
|
23 |
|
24 | Route.createRoute = function(name, isMobile){
|
25 | var fileContent = fs.readFileSync(path.resolve('./src/routes/index.js') ,'utf-8');
|
26 | fileContent = fileContent.replace(`children: [`,`children: [
|
27 | {
|
28 | path: '/${name}',
|
29 | load: () => import(/* webpackChunkName: '${name}' */ './${name}'),${isMobile ? `
|
30 | loadMobile: () => import(/* webpackChunkName: '${name}_mb' */ './${name}/index.mb'),` : ''}
|
31 | },`);
|
32 | fs.writeFileSync(path.resolve('./src/routes/index.js') ,fileContent ,'utf-8');
|
33 |
|
34 | var fileContent = fs.readFileSync(path.resolve('./src/routes/index.dev.js') ,'utf-8');
|
35 | fileContent = fileContent.replace(
|
36 | `/* --- 此处为调试页面,无须上传----- */`,
|
37 | `/* --- 此处为调试页面,无须上传----- */
|
38 | {
|
39 | path: '/${name}',
|
40 | load: () => import(/* webpackChunkName: '${name}' */ './${name}'),${isMobile ? `
|
41 | loadMobile: () => import(/* webpackChunkName: '${name}_mb' */ './${name}/index.mb'),` : ''}
|
42 | },`);
|
43 | fs.writeFileSync(path.resolve('./src/routes/index.dev.js') ,fileContent ,'utf-8');
|
44 |
|
45 | console.log('done');
|
46 | }
|
47 |
|
48 | module.exports = Route;
|