Rob*_*b N 12 javascript google-closure-compiler
我把它放在externs文件中:
/** @typedef {{english: string, spanish: string}} */
var SpanishNoun;
然后我有javascript:
/**
 * @param {SpanishNoun} n 
 */
exp1.processData3 = function (n) {
    console.log("pd3:", n.english, n.spanish, n['english'], n['spanish']);
}
编译为:
function(a){console.log("pd3:",a.a,a.c,a.english,a.spanish)};
所以它仍然将'英语'重命名为'a'等等.你如何阻止它?为什么它认为它可以重命名"外部"的东西.
抢
John的回答引出了另一个问题:我可以告诉Closure编译器,仅针对特定类型,停止重命名属性吗?
typedef不参与重命名计算
此类型定义将:
/** @interface */
function SpanishNoun() {}
/** @type {string} */
SpanishNoun.prototype.english;
/** @type {string} */
SpanishNoun.prototype.spanish;
| 归档时间: | 
 | 
| 查看次数: | 1645 次 | 
| 最近记录: |