【问题标题】:Compile a project using PIXI.js in ADVANCED mode with Closure Compiler使用闭包编译器在高级模式下使用 PIXI.js 编译项目
【发布时间】:2015-12-06 08:28:19
【问题描述】:

我正在尝试编译一个项目,该项目使用 pixi.js 库和 ADVANCED 模式下的闭包编译器,如下所示:

You should not include a minified version of pixi during your minifying process. Instead, you can try to include the unminified version. https://github.com/pixijs/pixi.js/issues/1097

我正在使用这个文件(请纠正我这不是正确的):

https://raw.githubusercontent.com/pixijs/pixi.js/master/bin/pixi.js

以及最新的编译器 (v20151015)

--summary_detail_level 3
--warning_level VERBOSE
--compilation_level ADVANCED
--source_map_format V3
--js ... ( project files here, including pixi.js )
--js_output_file Output.min.js

编译错误:

lib/pixi.js:35: ERROR - variable exports is undeclared
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else 

作为一个实验,我添加了@fileoverview 看看我会得到什么

/**
* @fileoverview
* @suppress {unknownDefines|checkTypes|checkVars|misplacedTypeAnnotation|nonStandardJsDocs|suspiciousCode|checkVars|accessControls|ambiguousFunctionDecl|deprecatedAnnotations|missingReturn|newCheckTypes}
*/

我得到的输出是 412 个警告(都在 Pixi 内部):

0 error(s), 412 warning(s), 61.8% typed

我不确定我是否使用了正确的 pixi.js 文件,@sbondor 所说的 pixi.dev.js 文件不再在线:

https://github.com/pixijs/pixi.js/issues/1260

那么,我做错了什么? 如何编译包含 pixi.js 的项目?

【问题讨论】:

    标签: google-closure-compiler pixi.js


    【解决方案1】:

    我不相信 PIXI.js 与编译器的ADVANCED 模式兼容。

    不过,快速浏览一下,我会发现一些您需要尝试的东西:

    --process_common_js_modules

    PIXI 对其某些文件使用通用模块定义。编译器可以删除和重写一些 UMD 模块包装器,但您需要指定 --process_common_js_modules 标志。这也将处理variable exports is undeclared 警告。

    --common_js_entry_module

    您需要使用此标志为您的应用程序指定入口模块。它是您的应用程序的基础文件。

    【讨论】:

    • --process_common_js_modules 标志在编译器中启用依赖关系修剪。这意味着我认为您必须完全使用 commonjs 模块(require.js 是 AMD 模块 - 不是一回事)。编译器可以将一些 AMD 模块转换为常见的 js,但我认为此时您只是陷入了困境。
    • 那么你会推荐什么?我应该为 pixi 编写 externs 文件并在编译后包含缩小的 pixi 库,而不是走下兔子洞吗?我以前没有使用过 commonjs,但如果你认为这会起作用,我不介意学习它并调整项目。
    • 我想externs就是答案。
    • 是的 - 我认为 externs 就是答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-01
    • 1970-01-01
    • 2012-10-16
    相关资源
    最近更新 更多