【问题标题】:How to create a javascript library that can be used in multiple projects?如何创建一个可以在多个项目中使用的 javascript 库?
【发布时间】:2016-12-07 22:58:39
【问题描述】:

所以我有一个在多个项目中使用的定制 javascript 库。问题是,如果我对其中一个项目进行更改,那么我必须进入使用该库的所有项目并复制更改。我希望能够在原始库中进行更改,并且所有使用/引用它的项目都会自动更新。如何在 Visual Studio (2013) 中执行此操作?

【问题讨论】:

  • 在之前尝试
  • 为什么不使用 CDN?将您创建的文件上传到 CDN 中,并确保所有项目中的链接都是一致的。

标签: javascript visual-studio visual-studio-2013


【解决方案1】:

1。外观设计模式:(函数名 VS 函数实现)

您需要定义 contract(在 JAVA 中称为 interface)以避免更改函数名称。

简而言之,不要更改函数名称,更改实现的函数

2。将您的逻辑附加到不可更改的名称空间:

var api={}; /*"api" is namespace*/
api.myFn=function(a,b){
    return a+b;
}

优于:

var myFn=function(a,b){
        return a+b;
    }

3。使用匿名函数:

最佳做法是使用匿名函数包装整个库的代码。

 (function(api){
       api.myFn=function(a,b){ /*"myFn" is attached to nameSpace*/
            return a+b;
       };
       window.myLibrary=api; /*Publish your library to be used outside of anonymous function */
 })({}) /*{} is the value of api*/

然后在其他文件/其他项目中,你可以像这样使用它:myLibrary.myFn(4,5)

演示:

     (function(api){
           api.myFn=function(a,b){ /*"myFn" is attached to nameSpace*/
                return a+b;
           };
           window.myLibrary=api; /*Publish your library to be used outside of anonymous function */
     })({}) /*{} is the value of api*/

     console.log(
         myLibrary.myFn(4,5)
       )

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-09
    • 1970-01-01
    • 2015-08-17
    • 1970-01-01
    • 1970-01-01
    • 2021-01-08
    • 2019-02-12
    • 2021-12-27
    相关资源
    最近更新 更多