【问题标题】:Angular 2 used with JQueryAngular 2 与 JQuery 一起使用
【发布时间】:2017-06-30 21:02:42
【问题描述】:

我正在尝试将 JQuery 与 Angular 2 Cli 一起使用。

我通过使用npm install jquery --save 并将import $ from 'jquery/dist/jquery' 添加到app.module.ts 来安装JQuery。

我在 Chrome Cannot find module 'jquery/dist/jquery'.) 中收到此错误。但我可以在 node_modules 中找到 jquery 文件夹。

我使用 JQuery 是因为我想在我的项目中使用带有阴影效果的 this header。如果不使用 Material Design 或其他 UI 组件,我无法找到此类标题的角度版本(因为我不喜欢使用它,因为它会改变我项目中的一些样式)。

【问题讨论】:

    标签: angular angular2-headers


    【解决方案1】:

    还有另一种非常简单的方法可以将jQuery 添加到您的项目中。

    • 在您的index.html 代码中包含jQuery

      <script src="jquery.min.js"></script>

    • 然后在指定的组件中声明它:

      declare let $:any;

    【讨论】:

    • 谢谢,这成功了。但我改用<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    • @todo 当然。我刚刚使用了我的代码,jQuery 本地存储在与index.html 相同的文件夹中的文件中:)
    • 这真的很难看……但它简单、快速且有效! :D 如果需要,您还可以添加可选的完整性属性,例如:<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
    【解决方案2】:

    为 jQuery 导入类型,以便 TypeScript 编译器知道它们:

    npm install --save @types/jquery
    

    确保你也安装了 jQuery:

    npm install --save jquery
    

    并包含来自您的 HTML 页面的脚本:

    <script src="node_modules/jquery/dist/jquery.js"></script>
    

    默认情况下,您的 tsconfig 文件将在 node_modules/@types 文件夹下查找以解析类型。假设您没有更改默认值,它应该会在编译时自动正确解析 jQuery 类型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-10
      • 2018-03-24
      • 2016-12-24
      • 2016-02-12
      • 2020-01-08
      • 2017-03-07
      • 2017-05-10
      • 2017-11-26
      相关资源
      最近更新 更多