UNPKG

1.98 kBJavaScriptView Raw
1const fs = require('fs');
2const path = require('path');
3const babylon = require('babylon');
4const traverse = require("babel-traverse").default;
5const generator = require("babel-generator").default;
6const t = require("babel-types");
7
8Route = function(){
9
10};
11
12Route.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
24Route.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
48module.exports = Route;