# JTFW-CODE-ANALYZER

项目用于分析修改代码，所涉及的影响页面

## 安装

```bash
npm i @lbgfe/jtfw-code-analyzer -D
```

## 接入

### package.json
```javascript
// script 中新增一条命令 如果没有安装cross-env 也需要npm i cross-env -D
"analyzer”: "cross-env ANALYZER_ENV=analyzer vue-cli-service serve"
```

### vue.config.js
```javascript
// 新增插件
const DependenciesAnalyzerPlugin = require('jtfw-code-analyzer');
const packageJson = require('./package.json');

if (process.env.ANALYZER_ENV === 'analzyer') {
    plugins.push(new DependenciesAnalyzerPlugin({
        ignoreDependencies: { ...packageJson.dependencies, ...packageJson.devDependencies },
    }));
}
```

### 运行
```bash
// 运行后会对比当前分支与本地develop分支的差异，输出影响页面
npx @lbgfe/jtfw-code-analyzer
```

### 输出数据结构参考
```javascript
// 目前数据结构如下
[
  { path: '/index', fileName: 'src/components/AppDialog.vue' },
  {
    path: '/auntWorkExperience',
    fileName: 'src/components/AppDialog.vue'
  },
  { path: '/auntFamilyInfo', fileName: 'src/components/AppDialog.vue' },
  {
    path: '/auntSelfIntroduction',
    fileName: 'src/components/AppDialog.vue'
  },
  {
    path: '/auntCertPhotoEdit',
    fileName: 'src/components/AppDialog.vue'
  },
  {
    path: '/auntWorkPhotoEdit',
    fileName: 'src/components/AppDialog.vue'
  },
  {
    path: '/auntVideoInterview',
    fileName: 'src/components/AppDialog.vue'
  },
  { path: '/myTeacher', fileName: 'src/components/AppDialog.vue' },
  { path: '/demandDetail', fileName: 'src/components/AppDialog.vue' },
  { path: '/medicalReport', fileName: 'src/components/AppDialog.vue' },
  {
    path: '/auntRecruitment',
    fileName: 'src/components/AppDialog.vue'
  },
  { path: '/personalLeave', fileName: 'src/components/AppDialog.vue' },
  { path: '/auntSetting', fileName: 'src/components/AppDialog.vue' },
  {
    path: '/festivalActivity',
    fileName: 'src/components/AppDialog.vue'
  },
  { path: '/auntDeposit', fileName: 'src/components/AppDialog.vue' },
  { path: '/myCourse', fileName: 'src/components/AppDialog.vue' },
  { path: '/pdfViewer', fileName: 'src/components/AppDialog.vue' }
]
```