我仍然是npm的新手所以我不知道这是否可能,但如果我决定升级一个包,但是我已经改变了包中的一个文件,有没有办法仍然升级其他所有内容,但在受影响的文件中保留我的更改?
例如,我已经引入了aurelia-validation软件包,并且我已经更改了resources / en-EN.js中的一些字符串资源。我是否可以升级aurelia-validation软件包并将所有新增内容添加到该文件中而不删除我所创建的文件?
答案 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更新,但是您必须确保您的更改与该库的新版本一起正常运行。