前端运行或打包项目巧用node修改文件内容

51 阅读1分钟

package.json

"scripts": {
    "dev": "node dev_start.js",
    //...
   },
 "dependencies": {
    "inquirer": "8.0.0",
    "shelljs": "^0.8.5"
   }

dev_start.js

const inquirer = require('inquirer');
const shell = require('shelljs');
const fs = require('fs');
const path = require('path');

const pagePath = path.resolve(__dirname, './src/pages'); //指定要查询的目录
const entryFiles = fs.readdirSync(pagePath);

const env_project_list = [
  {
    type: 'list' /* 选择框 */,
    message: '请选择要启动的环境?',
    name: 'env',
    choices: ['local', 'test', 'hbtest', 'uat', 'pro', 'disaster'] /* 选项*/,
    filter: function (val) {
      /* 过滤 */
      return val.toLowerCase();
    },
    default: 'local',
  },
  {
    type: 'list',
    message: '请选择要启动的项目?',
    name: 'name',
    choices: entryFiles,
    // default: entryFiles[3] || 'demo'
    // when: res => Boolean(res.conf)
  },
];

inquirer.prompt(env_project_list).then(({ env, name }) => {
  console.log('env=======', env, name);
  shell.exec(`npm run dev:${env} --page=${name}`);
});