假设我有一个用Javascript编写的库,可以在MEAN堆栈应用程序中使用。
我希望从NodeJS和Angular中使用我的库。 为了保持惯用,我希望库在节点内显示为模块,在Angular中显示为服务。
我能想到的唯一方法就是做:
var myLibrary = function(){
var myLib = {};
myLib.myFunc1 = function() {
//Do some cool stuff
};
return myLib;
};
if (typeof module !== 'undefined') {
module.exports = myLibrary();
} else{
var app = angular.module('myApp.services', []);
app.factory('myLibrary',myLibrary);
}
这样可行,但它至少有两个重要的限制:
我想知道是否有人知道更好的解决方案,或者我是否应该放弃使用Angular服务并使用其中一个允许客户端节点模块功能的库。