64 lines
2.3 KiB
TypeScript
64 lines
2.3 KiB
TypeScript
/// 阅读 api.d.ts 查看文档
|
|
///<reference path="api.d.ts"/>
|
|
|
|
import * as path from 'path';
|
|
import { UglifyPlugin, CompilePlugin, ManifestPlugin, ExmlPlugin, EmitResConfigFilePlugin, TextureMergerPlugin, CleanPlugin } from 'built-in';
|
|
import { MygamePlugin } from './mygame/mygame';
|
|
import { CustomPlugin } from './myplugin';
|
|
import * as defaultConfig from './config';
|
|
|
|
const config: ResourceManagerConfig = {
|
|
|
|
buildConfig: (params) => {
|
|
|
|
const { target, command, projectName, version } = params;
|
|
const outputDir = `../${projectName}_mygame`;
|
|
if (command == 'build') {
|
|
return {
|
|
outputDir,
|
|
commands: [
|
|
new CleanPlugin({ matchers: ["js", "resource"] }),
|
|
new CompilePlugin({ libraryType: "debug", defines: { DEBUG: true, RELEASE: false } }),
|
|
new ExmlPlugin('commonjs'), // 非 EUI 项目关闭此设置
|
|
new MygamePlugin(),
|
|
new ManifestPlugin({ output: 'manifest.js' })
|
|
]
|
|
}
|
|
}
|
|
else if (command == 'publish') {
|
|
return {
|
|
outputDir,
|
|
commands: [
|
|
new CleanPlugin({ matchers: ["js", "resource"] }),
|
|
new CompilePlugin({ libraryType: "release", defines: { DEBUG: false, RELEASE: true } }),
|
|
new ExmlPlugin('commonjs'), // 非 EUI 项目关闭此设置
|
|
new MygamePlugin(),
|
|
new UglifyPlugin([
|
|
// 使用 EUI 项目,要压缩皮肤文件,可以开启这个压缩配置
|
|
// {
|
|
// sources: ["resource/default.thm.js"],
|
|
// target: "default.thm.min.js"
|
|
// },
|
|
{
|
|
sources: ["main.js"],
|
|
target: "main.min.js"
|
|
}
|
|
]),
|
|
new ManifestPlugin({ output: 'manifest.js' })
|
|
]
|
|
}
|
|
}
|
|
else {
|
|
throw `unknown command : ${params.command}`;
|
|
}
|
|
},
|
|
|
|
mergeSelector: defaultConfig.mergeSelector,
|
|
|
|
typeSelector: defaultConfig.typeSelector
|
|
}
|
|
|
|
|
|
|
|
export = config;
|