kmc
kmc copied to clipboard
四个场景的bug
项目地址:http://gitlab.taobao.ali.com/trip/h5-tt/tree/daily/0.0.21
场景1
配置:
options: {
// depFilePath:'build/deps.js',
comboOnly: false,
fixModuleName:true,
comboMap: false,
packages: [
{
name: '<%= pkg.name %>',
path: './src',
charset:'utf-8',
ignorePackageNameInUri:true
}
],
},
main: {
files: [
{
expand: true,
cwd: 'src/',
src: [ '**/*.js', '!Gruntfile.js', '!libs/**/*'],
dest: 'build/'
}
]
}
输出
.
├── config.js
├── mods
│ ├── footer
│ │ └── index.js
│ └── header
│ └── index.js
├── pages
│ ├── detail
│ │ └── index.js
│ ├── list
│ │ ├── index.js
│ │ └── mock.js
│ └── telephone
│ └── index.js
├── test
│ └── abc
│ └── index.js
└── widgets
├── scroll-list
│ └── 1.0
│ └── index.js
└── tabview
└── 1.0
└── index.js
- 错误:文件结构正确,为什么comboOnly:false,每个文件都执行了静态合并
- 应该只补全modName
场景2
options: {
depFilePath:'build/deps.js',
comboOnly: false,
fixModuleName:true,
comboMap: false,
packages: [
{
name: '<%= pkg.name %>',
path: './src',
charset:'utf-8',
ignorePackageNameInUri:true
}
],
},
main: {
files: [
{
expand: true,
cwd: 'src/',
src: [ '**/*.js', '!Gruntfile.js', '!libs/**/*'],
dest: 'build/'
}
]
}
输出结果
├── test
│ └── abc
│ ├── build
│ │ └── deps.js
│ └── index.js
- 为什么每个index.js所在目录下会多一个
build/deps.js
场景3
options: {
depFilePath:'build/deps.js',
comboOnly: false,
fixModuleName:true,
comboMap: true,
packages: [
{
name: '<%= pkg.name %>',
path: './src',
charset:'utf-8',
ignorePackageNameInUri:true
}
],
},
main: {
files: [
{
expand: true,
cwd: 'src/',
src: [ '**/*.js', '!Gruntfile.js', '!libs/**/*'],
dest: 'build/'
}
]
}
输出结果
├── build
│ └── deps.js
├── config.js
├── deps.js
├── mods
│ ├── footer
│ │ ├── build
│ │ │ └── deps.js
│ │ └── index.js
│ └── header
│ ├── build
│ │ └── deps.js
│ └── index.js
├── pages
│ ├── detail
│ │ ├── build
│ │ │ └── deps.js
│ │ └── index.js
│ └── telephone
│ ├── build
│ │ └── deps.js
│ └── index.js
├── test
│ └── abc
│ ├── build
│ │ └── deps.js
│ └── index.js
└── widgets
├── autocomplete
│ └── 1.0
│ ├── build
│ │ └── deps.js
│ └── index.js
└── tabview
└── 1.0
├── build
│ └── deps.js
└── index.js
- 错误1:每个index.js旁边的build/deps.js不应该出现
- 错误2:每个index.js不应该被静态合并(因为comboOnly:fase)
场景4
options: {
depFilePath:'build/deps.js',
comboOnly: true,
fixModuleName:true,
comboMap: true,
packages: [
{
name: '<%= pkg.name %>',
path: './src',
charset:'utf-8',
ignorePackageNameInUri:true
}
],
},
main: {
files: [
{
expand: true,
cwd: 'src/',
src: [ '**/*.js', '!Gruntfile.js', '!libs/**/*'],
dest: 'build/'
}
]
}
结果:
├── config.js
├── deps.js
├── mods
│ └── header
│ └── mods
│ └── header
│ └── index.js
├── pages
│ ├── detail
│ │ └── pages
│ │ └── detail
│ │ └── index.js
│ ├── global
│ │ └── pages
│ │ └── global
│ │ └── index.js
│ ├── list
│ │ └── pages
│ │ ├── global
│ │ │ └── index.js
│ │ └── list
│ │ ├── index.js
│ │ └── mock.js
│ ├── news
│ │ └── pages
│ │ └── news
│ │ └── index.js
│ ├── news-list
│ │ └── pages
│ │ └── news-list
│ │ └── index.js
│ ├── query
│ │ ├── pages
│ │ │ ├── global
│ │ │ │ └── index.js
│ │ │ └── query
│ │ │ └── index.js
│ │ └── widgets
│ │ ├── checkbox
│ │ │ └── 1.0
│ │ │ └── index.js
│ │ └── radio
│ │ └── 1.0
│ │ └── index.js
│ ├── station
│ │ ├── pages
│ │ │ ├── global
│ │ │ │ └── index.js
│ │ │ └── station
│ │ │ └── index.js
│ │ └── widgets
│ │ ├── autocomplete
│ │ │ └── 1.0
│ │ │ └── index.js
│ │ ├── scroll-list
│ │ │ └── 1.0
│ │ │ └── index.js
│ │ └── tabview
│ │ └── 1.0
│ │ └── index.js
│ └── telephone
│ └── pages
│ └── telephone
│ └── index.js
├── test
│ └── abc
│ └── test
│ └── abc
│ └── index.js
└── widgets
├── autocomplete
│ └── 1.0
│ └── widgets
│ └── autocomplete
│ └── 1.0
│ └── index.js
├── checkbox
│ └── 1.0
│ └── widgets
│ └── checkbox
│ └── 1.0
│ └── index.js
├── loading
│ └── 1.0
│ └── widgets
│ └── loading
│ └── 1.0
│ └── index.js
├── radio
│ └── 1.0
│ └── widgets
│ └── radio
│ └── 1.0
│ └── index.js
├── scroll-list
│ └── 1.0
│ └── widgets
│ └── scroll-list
│ └── 1.0
│ └── index.js
└── tabview
└── 1.0
└── widgets
└── tabview
└── 1.0
└── index.js
- 文件结构乱掉了
- deps.js 是正确的
KMC 历史包裹太重了, 试试这个 https://github.com/abc-team/grunt-kpc
https://github.com/abc-team/node-kpc