0

我已经使用 NPM 安装了 jQuery。现在我将其添加到我的外部部分中:

"externals": {
    "jQuery": {
      "path": "/node_modules/jquery/dist/jquery.min.js",
      "globalName": "jQuery1"
    }
}

现在我已经为轮播和其他漂亮的控件安装了 unitegallery。我已经通过 NPM 安装了 unitegallery。我添加了如下依赖项:

"externals": {
    "jQuery": {
        "path": "/node_modules/jquery/dist/jquery.min.js",
        "globalName": "jQuery1"
    },
    "UniteGallery": {
        "path": "/src/webparts/carouselControl/unitegallery.min.js",
        "globalName": "UniteGallery",
        "globalDependencies": ["jQuery"]    
    }
}

require('jQuery')当我将它们作为and加载到我的 .ts 文件中require('UniteGallery')时,会出现错误

在组件清单的加载器配置中找不到资源“jQuery”

. 我真的很难找到解决方案。所有博客都说这是唯一的方法。但为什么它给我错误?我在这里做错了什么?

4

1 回答 1

1

使用早期版本的 Visual Studio 代码,我遇到了这个问题。不是最新的。旧解决方案现在工作正常。但是从那时起我正在做的事情,而不是在本地引用,我正在使用CDN引用。首先,我正在搜索 winodw['jQuery'] 对象,如果该对象未定义,那么我将使用 SPComponentLoader 函数加载 jQuery。下面是示例代码:

if(typeof(window['jQuery'])=='undefined'){
        SPComponentLoader.loadScript('https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js').then(($:any)=>{
            this.jQuery=$;
            this.initSearch();
        });
      }
      else{
        this.jQuery = window['jQuery'];
        this.initSearch();
      }
于 2018-04-30T10:16:20.677 回答