【问题标题】:Import jquery and bootstrap in typescript commonjs在 typescript commonjs 中导入 jquery 和 bootstrap
【发布时间】:2016-12-28 19:58:49
【问题描述】:

我正在使用 browserify 导入一些 nodejs 模块。使用此语法一切正常:

$ = jQuery = require('jquery');
require('bootstrap');
require('angular');
require('ngRoute');
require('firebase');
require('angularfire');

现在我正在尝试将其转换为打字稿(使用 1.8 版),但我不知道该怎么做。我正在使用来自 browserify 的 tsify 插件

我已经尝试过一些类似的sintax

import * as jquery from "jquery";
import * as jQuery from "jquery";
import * as $ from "jquery";

declare var jQuery;
declare var $;
import * as jquery from "jquery";
$ = jQuery =jquery;

但它不起作用!

【问题讨论】:

    标签: javascript jquery node.js typescript


    【解决方案1】:

    你试过了吗:

    import * as $ from "jquery";
    

    确保您已安装 jQuery:

    typings install jquery --save
    

    【讨论】:

      【解决方案2】:

      在文件的开头你必须告诉 typescript 它应该知道 nodejs、jquery 等的 typescript 定义。

      /// <reference path="DEFINITION-FILE.d.ts" />
      

      在没有引用 d.ts 文件 nodejs 之前,require 是未知的 $ 或 jquery 在未引用 jquery 的 d.ts 文件之前是未知的...

      你可以在 Definitly Typed 上找到大量的打字稿定义

      http://definitelytyped.org/

      希望对你有帮助

      【讨论】:

      • 项目编译成功,不会是定义问题。
      【解决方案3】:

      要在浏览器中全局使用“jQuery”,您需要将它附加到 windows 对象。

      这对我有用:

      import * as $ from "jquery";
      (<any>window).jQuery = $
      
      import "bootstrap";
      

      看到这个答案:Declare Typescript global variable as "module" type

      【讨论】:

        【解决方案4】:

        从“jquery”导入$;是这里的作品。

        【讨论】:

          猜你喜欢
          • 2016-07-30
          • 1970-01-01
          • 2021-11-20
          • 2016-05-25
          • 2018-02-03
          • 2012-12-07
          • 2016-08-31
          • 1970-01-01
          • 2018-07-18
          相关资源
          最近更新 更多