用于uglify的CodeKit3 Bash脚本

时间:2017-05-18 13:17:15

标签: bash codekit

这个漫长的帖子的最终目标是Uglify&使用CodeKit Hook对输出文件进行切换(在其他所有内容之后),这样一旦文件组合起来,然后从Hook运行Uglify,那么" eof"错误被绕过。

我尝试在CodeKit的UI的Bash脚本钩子区域中使用的一些示例。下面还详细介绍了我的解决方案在CodeKit中的结构。

感谢阅读。

// @codekit-prepend "rules.js"
// @codekit-prepend "domStart.js"

    // @codekit-prepend "mainStructure.js"
    // @codekit-prepend "pages.js"
    // @codekit-prepend "grids.js"
    // @codekit-prepend "modals.js"
    // @codekit-prepend "thirdParty.js"
    // @codekit-prepend "s508.js"

// @codekit-prepend "domEnd.js"

使用CodeKit3我有一个文件,其中有几个其他文件的前缀,如下所示。

$(function(){

CodeKit的选项非常易于使用,但我遇到了问题。因为我预先添加的许多文件都需要DOM准备好,所以我创建了两个文件,一个是" domStart.js"和" domEnd.js"他们听起来就像他们一样。

" domStart.js"包含...

});//end ready

" domEnd.js"包含...

$(function(){ *prepended files* });//end ready

因此,中间的所有内容现在都包含在一个UglifyJS: Minification failed: Parse error at /Users/colemmic/dev/roomstogo-store/roomstogo-web/src/main/webapp/static/js/common/domStart.js:1,13 $(function(){ ^ SyntaxError: Unexpected token: eof (undefined) at JS_Parse_Error.get (eval at <anonymous> (/Applications/CodeKit.app/Contents/Resources/engines/node_modules/uglify-js/tools/node.js:27:1), <anonymous>:86:23) at /Applications/CodeKit.app/Contents/Resources/engines/node_modules/uglify-js/bin/uglifyjs:384:39 at time_it (/Applications/CodeKit.app/Contents/Resources/engines/node_modules/uglify-js/bin/uglifyjs:620:15) at /Applications/CodeKit.app/Contents/Resources/engines/node_modules/uglify-js/bin/uglifyjs:345:9 at tryToString (fs.js:455:3) at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:442:12) 语句中。

问题是当我通过CodeKits UI转换压缩,uglify或破坏文件时,我在CodeKit的控制台中得到以下错误输出。我知道这是因为&#34; domStart.js&#34;文件包含一个开头&#34; {&#34;没有闭包,因此文件错误结束。

{{1}}

1 个答案:

答案 0 :(得分:0)

经过数小时的额外研究后,我设计了一个有效的解决方案。

因为CodeKit3略有不同,所以必须定义uglify的完整路径。

$new_array = array();

foreach($teach_array as $item){    // Loop the teacher_array
  if(!in_array($item,$langs_array)){   // If the teach_array value doesn't exist in the lang_array, add the value
    $new_array[] = $item;
  }
}

所以上面的陈述并不遥远,但因为应用程序包含其中的所有框架,只需要在它们运行之前定义它们。