改进撇号片段
Improving apostrophe-pieces
我想创建一个模块来改进现有的撇号片段以用于翻译片段。
所以我制作了我的模块并添加了一个 index.js 文件。
module.exports = {
improve: 'apostrophe-pieces',
alias:'apostrophe-translated-pieces',
construct: function(self, options) {
self.afterList = function(req, results, callback) {
console.log('my function');
return callback();
};
}
};
但是初始函数总是被调用,而不是我的。我的方法有什么问题?
有两个问题。首先,将 alias
与 improve
组合没有意义。 improve
的目的是隐式子类化 apostrophe-pieces
以便从撇号部分派生的所有模块都能得到您的更改。 alias
的目的是给模块一个新名称,这不是您想要做的。
其次,improve
确实适用于 npm 模块,目前不适用于 "project level" 代码。您没有在此处指定,但我假设您是在 lib/modules/apostrophe-translated-pieces
.
中的项目级别执行此操作
那么您如何在项目级别执行此操作?它实际上更简单:您只需在项目中创建 lib/modules/apostrophe-pieces/index.js
并将代码放在那里。如果您为作为 Apostrophe 核心一部分的模块提供实现,它会自动加载为隐式子类,完全符合您的期望。您不需要 improve
关键字(或 alias
关键字)。
improve
的目的是让您在将发布并与他人共享的 npm 模块中实现相同的技巧,即使它不能(或不应该)具有相同的名称作为我们的模块之一。该问题不会出现在项目级别。
最后...您应该查看 apostrophe-workflow 模块。新的 2.x 版本的 apostrophe-workflow 也涵盖了 localization/translation,而且做得非常彻底。因此,根据您的需要编写自己的翻译实现可能没有意义。
我想创建一个模块来改进现有的撇号片段以用于翻译片段。 所以我制作了我的模块并添加了一个 index.js 文件。
module.exports = {
improve: 'apostrophe-pieces',
alias:'apostrophe-translated-pieces',
construct: function(self, options) {
self.afterList = function(req, results, callback) {
console.log('my function');
return callback();
};
}
};
但是初始函数总是被调用,而不是我的。我的方法有什么问题?
有两个问题。首先,将 alias
与 improve
组合没有意义。 improve
的目的是隐式子类化 apostrophe-pieces
以便从撇号部分派生的所有模块都能得到您的更改。 alias
的目的是给模块一个新名称,这不是您想要做的。
其次,improve
确实适用于 npm 模块,目前不适用于 "project level" 代码。您没有在此处指定,但我假设您是在 lib/modules/apostrophe-translated-pieces
.
那么您如何在项目级别执行此操作?它实际上更简单:您只需在项目中创建 lib/modules/apostrophe-pieces/index.js
并将代码放在那里。如果您为作为 Apostrophe 核心一部分的模块提供实现,它会自动加载为隐式子类,完全符合您的期望。您不需要 improve
关键字(或 alias
关键字)。
improve
的目的是让您在将发布并与他人共享的 npm 模块中实现相同的技巧,即使它不能(或不应该)具有相同的名称作为我们的模块之一。该问题不会出现在项目级别。
最后...您应该查看 apostrophe-workflow 模块。新的 2.x 版本的 apostrophe-workflow 也涵盖了 localization/translation,而且做得非常彻底。因此,根据您的需要编写自己的翻译实现可能没有意义。