如何在 DOJO 层中 include/preappend copyrightFile?
How to include/preappend copyrightFile in a DOJO layer?
我正在使用 DOJO 1.10,我需要 include/preappend 图层文件(串联文件)中的一些版权信息。
我正在按照 doc 的说明进行操作,包括版权文件(.txt 文件)的本地路径和绝对路径。
没有成功。
备注:
文档还明确指出默认的 Dojo 版权声明将是
如果未提供 copyrightFile 属性,则使用该文本信息,但此文本信息从未包含在我的图层中。
我做错了什么?
var profile = function() {
return {
basePath: "../",
releaseDir: "dist",
releaseName: "build",
optimize: "closure",
action: "release",
layerOptimize: "closure",
copyTests: !1,
stripConsole: "all",
version: "ntv-0.0.0",
cssOptimize: "comments",
mini: !0,
staticHasFeatures: {
"dojo-trace-api": !1,
"dojo-log-api": !1,
"dojo-publish-privates": !1,
"dojo-sync-loader": !1,
"dojo-xhr-factory": !1,
"dojo-test-sniff": !1
},
resourceTags: {
amd: function(t) {
return /\.js$/.test(t)
},
ignore: function(t) {
return /\.js.map$/.test(t)
},
miniExclude: function(t) {
return /\.js.map$/.test(t)
}
},
packages: [{
name: "dojo",
location: "dojo"
}, {
name: "test",
location: "test"
}],
layers: {
"dojo/dojo": {
include: ["dojo/dojo"],
customBase: true,
boot: false
},
"test/c": {
include: ["test/c/c"],
customBase: true,
boot: false,
copyrightFile: 'C:\copyright.txt'
},
"test/b": {
include: ["test/b/b"],
customBase: true,
boot: false,
copyrightFile: 'C:\copyright.txt'
},
"test/a": {
include: ["test/a/a"],
customBase: true,
boot: false,
copyrightFile: 'C:\copyright.txt'
}
}
}
}();
我找到了解决此问题的临时方法,因为我正在使用 Google Closure 编译器 我可以使用 @preserve
或 @license
以便在 [=] 中保留一些注释22=].
这是我在源代码中使用的示例。至少,我仍然非常有兴趣使用 DOJO 中的 copyrightFile
。
/**
* @preserve Copyright 2009 SomeThirdParty.
* Here is the full license text and copyright
* notice for this file. Note that the notice can span several
* lines and is only terminated by the closing star and slash:
*/
相关:
https://developers.google.com/closure/compiler/docs/js-for-compiler
这种行为似乎发生了变化,并且对于 1.7+ 构建配置文件可能没有很好的记录。 mentioned 但有点难找。
当使用新的配置文件格式时(例如,使用 layers
散列而不是数组),属性 被命名为 copyright
而不是 copyrightFile
,看起来默认为空。
例如,要将默认的 Dojo 版权信息添加到图层,您可以设置 copyright: 'util/build/copyright.txt'
(假设 util
直接位于 basePath
之下)。
我正在使用 DOJO 1.10,我需要 include/preappend 图层文件(串联文件)中的一些版权信息。
我正在按照 doc 的说明进行操作,包括版权文件(.txt 文件)的本地路径和绝对路径。
没有成功。
备注: 文档还明确指出默认的 Dojo 版权声明将是 如果未提供 copyrightFile 属性,则使用该文本信息,但此文本信息从未包含在我的图层中。
我做错了什么?
var profile = function() {
return {
basePath: "../",
releaseDir: "dist",
releaseName: "build",
optimize: "closure",
action: "release",
layerOptimize: "closure",
copyTests: !1,
stripConsole: "all",
version: "ntv-0.0.0",
cssOptimize: "comments",
mini: !0,
staticHasFeatures: {
"dojo-trace-api": !1,
"dojo-log-api": !1,
"dojo-publish-privates": !1,
"dojo-sync-loader": !1,
"dojo-xhr-factory": !1,
"dojo-test-sniff": !1
},
resourceTags: {
amd: function(t) {
return /\.js$/.test(t)
},
ignore: function(t) {
return /\.js.map$/.test(t)
},
miniExclude: function(t) {
return /\.js.map$/.test(t)
}
},
packages: [{
name: "dojo",
location: "dojo"
}, {
name: "test",
location: "test"
}],
layers: {
"dojo/dojo": {
include: ["dojo/dojo"],
customBase: true,
boot: false
},
"test/c": {
include: ["test/c/c"],
customBase: true,
boot: false,
copyrightFile: 'C:\copyright.txt'
},
"test/b": {
include: ["test/b/b"],
customBase: true,
boot: false,
copyrightFile: 'C:\copyright.txt'
},
"test/a": {
include: ["test/a/a"],
customBase: true,
boot: false,
copyrightFile: 'C:\copyright.txt'
}
}
}
}();
我找到了解决此问题的临时方法,因为我正在使用 Google Closure 编译器 我可以使用 @preserve
或 @license
以便在 [=] 中保留一些注释22=].
这是我在源代码中使用的示例。至少,我仍然非常有兴趣使用 DOJO 中的 copyrightFile
。
/**
* @preserve Copyright 2009 SomeThirdParty.
* Here is the full license text and copyright
* notice for this file. Note that the notice can span several
* lines and is only terminated by the closing star and slash:
*/
相关: https://developers.google.com/closure/compiler/docs/js-for-compiler
这种行为似乎发生了变化,并且对于 1.7+ 构建配置文件可能没有很好的记录。 mentioned 但有点难找。
当使用新的配置文件格式时(例如,使用 layers
散列而不是数组),属性 被命名为 copyright
而不是 copyrightFile
,看起来默认为空。
例如,要将默认的 Dojo 版权信息添加到图层,您可以设置 copyright: 'util/build/copyright.txt'
(假设 util
直接位于 basePath
之下)。