问题是您希望编译器以某种方式认识到某些
require调用是内部的,即所需的模块应由编译器作为源进行处理,而其他模块是外部的,因此应单独放置。当前没有一个很好的方法来处理这种情况。
解决方法
使用后处理添加外部Require语句
在这种情况下,您将完全省略
require对外部模块的任何语句。编译器只会处理带有内部require语句和模块的代码。编译之后,您可以在外部require语句之前添加:
标头JS将被添加
var crypto = require('crypto');源代码要编译
console.log(crypto);
因为
crypto是在外部声明的,所以编译器将正确识别类型和符号名称。
别名需要通话
当
--process_common_js_modules指定时,编译器可以识别
require的语句,并以类似的方式扩大他们的宏在其他语言的工作方式。通过别名化
require应保留在外部的语句,编译器将无法识别它们,因此不会展开它们。
源代码要编译
var externalRequire = require;var crypto = externalRequire('crypto');console.log(crypto)


