| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 | 
							- // v1.2.1
 
- //是否使用IDE自带的node环境和插件,设置false后,则使用自己环境(使用命令行方式执行)
 
- const useIDENode = process.argv[0].indexOf("LayaAir") > -1 ? true : false;
 
- const useCMDNode = process.argv[1].indexOf("layaair2-cmd") > -1 ? true : false;
 
- function useOtherNode(){
 
- 	return useIDENode||useCMDNode;
 
- }
 
- //获取Node插件和工作路径
 
- let ideModuleDir = useOtherNode() ? process.argv[1].replace("gulp\\bin\\gulp.js", "").replace("gulp/bin/gulp.js", "") : "";
 
- let workSpaceDir = useOtherNode() ? process.argv[2].replace("--gulpfile=", "").replace("\\.laya\\compile.js", "").replace("/.laya/compile.js", "") : "./../";
 
- const gulp = require(ideModuleDir + "gulp");
 
- const rollup = require(ideModuleDir + "rollup");
 
- const typescript = require(ideModuleDir + 'rollup-plugin-typescript2');//typescript2 plugin
 
- const glsl = require(ideModuleDir + 'rollup-plugin-glsl');
 
- // 如果是发布时调用编译功能,增加prevTasks
 
- let prevTasks = "";
 
- if (global.publish) {
 
- 	prevTasks = ["loadConfig"];
 
- }
 
- gulp.task("compile", prevTasks, function () {
 
- 	// 发布时调用编译功能,判断是否点击了编译选项
 
- 	if (global.publish && !global.config.compile) {
 
- 		return;
 
- 	} else if (global.publish && global.config.compile) {
 
- 		// 发布时调用编译,workSpaceDir使用publish.js里的变量
 
- 		workSpaceDir = global.workSpaceDir;
 
- 	}
 
- 	return rollup.rollup({
 
- 		input: workSpaceDir + '/src/Main.ts',
 
- 		onwarn:(waring,warn)=>{
 
- 			if(waring.code == "CIRCULAR_DEPENDENCY"){
 
- 				console.log("warnning Circular dependency:");
 
- 				console.log(waring);
 
- 			}
 
- 		},
 
- 		treeshake: false, //建议忽略
 
- 		plugins: [
 
- 			typescript({
 
- 				tsconfig:workSpaceDir + "/tsconfig.json",
 
- 				check: true, //Set to false to avoid doing any diagnostic checks on the code
 
- 				tsconfigOverride:{compilerOptions:{removeComments: true}},
 
- 				include:/.*.ts/,
 
- 			}),
 
- 			glsl({
 
- 				// By default, everything gets included
 
- 				include: /.*(.glsl|.vs|.fs)$/,
 
- 				sourceMap: false,
 
- 				compress:false
 
- 			}),
 
- 			/*terser({
 
- 				output: {
 
- 				},
 
- 				numWorkers:1,//Amount of workers to spawn. Defaults to the number of CPUs minus 1
 
- 				sourcemap: false
 
- 			})*/        
 
- 		]
 
- 	}).then(bundle => {
 
- 		return bundle.write({
 
- 			file: workSpaceDir + '/bin/js/bundle.js',
 
- 			format: 'iife',
 
- 			name: 'laya',
 
- 			sourcemap: false
 
- 		});
 
- 	}).catch(err=>{
 
- 			console.log(err);
 
- 		
 
- 	})
 
- });
 
 
  |