升级包而不删除对文件的更改

时间:2015-12-03 14:22:27

标签: node.js npm

我仍然是npm的新手所以我不知道这是否可能,但如果我决定升级一个包,但是我已经改变了包中的一个文件,有没有办法仍然升级其他所有内容,但在受影响的文件中保留我的更改?

例如,我已经引入了aurelia-validation软件包,并且我已经更改了resources / en-EN.js中的一些字符串资源。我是否可以升级aurelia-validation软件包并将所有新增内容添加到该文件中而不删除我所创建的文件?

1 个答案:

答案 0 :(得分:1)

没有办法排除特定的更改,但也许有一种方法可以从升级中排除特定文件。

无论哪种方式,在第三方库中进行更改都是非常推荐。 相反,您可以从包外部覆盖特定函数或全局变量。

例如,你有一个包,并希望在那里更改一个功能,目前你有:

var aurelia = require('aurelia-validation');
aurelia.someFunction();

你应该在一个单独的文件中覆盖它:

<强>奥里利亚-validaiton-overwrite.js

aurelia.someFunction = function() {
    // new implementation
};

然后像这样要求它:

var aurelia = require('aurelia-validation');
var aurelia = require('aurelia-validation-overwrite.js');

然后您可以安全地进行NPM更新,但是您必须确保您的更改与该库的新版本一起正常运行。