【问题标题】:Using JQuery plugins or libraries which are not in NPM in Aurelia CLI application在 Aurelia CLI 应用程序中使用不在 NPM 中的 JQuery 插件或库
【发布时间】:2017-02-20 06:53:53
【问题描述】:

我是 aurelia 的新手,正在尝试将 JQuery Popup Overlay 添加到我的 Aurelia CLI v 0.23.0 项目(打字稿)中。这个库在 NPM 中不可用。谁能指导我在我的项目中使用它的正确方法并添加它 aurelia.json。

如果库也有 CSS 和图像资源会怎样。

不幸的是,我找不到任何适当的结构化和干净的方法,或者教程或文档。在here 中有一个文档,但这是针对 npm 上可用的客户端库的。感谢您的指导。

【问题讨论】:

    标签: jquery plugins aurelia


    【解决方案1】:

    在您的 aurelia.json 中,您可以添加来自任何地方的库。由于您的库不在 NPM 中,您必须将其文件夹复制到您的项目文件夹中,然后在 aurelia.json 中添加指令。例如:

    {
      "name": "JQueryPopup",
      "path": "../JQueryPopup", //<--- folder path
      "main": "jquery-popup", //<--- filename without .js
      "resources": [
        "file1.css", //<-- css resources
        "file2.css"
      ]
    }
    

    但是,有时处理遗留库的最佳方法是将&lt;script&gt;&lt;link&gt; 标记添加到您的index.html。考虑到这个库甚至不在 NPM 中,我认为这将是最好的选择。

    【讨论】:

    • 感谢法比奥,当我尝试使用编译器返回的第一种方法时:错误 TS2307:找不到模块“jquerypopup”。我已经正确设置了“路径”和“主”。库有没有其他资源。跟踪 jquerypopup 也没有错误通过,但是当我想导入模块时它返回错误。我以这种方式导入: import {jquerypopup} from 'jquerypopup';我也尝试过其他导入语法,但似乎 aurelia 找不到模块。
    • 正确的语法应该是import 'jquerypopup';。有时不需要导入。尝试使用 $('#something').jquerypopup() 在不导入库的情况下调用您的 jquery 方法
    • 我尝试使用这种方式导入,但是我得到'jQuery is not defined',我已将jquery添加为'deps',不起作用,我在'prepend'中添加了jquery.js,但现在我得到 `$(...).popup 不是一个函数。似乎依赖项不会以这种方式正确设置。也许在你提到的那一刻,答案是对不在 npm 中的库使用
    猜你喜欢
    • 2017-07-09
    • 2017-01-08
    • 2018-10-11
    • 2017-08-06
    • 2016-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-01
    相关资源
    最近更新 更多