打字稿和 Jquery 导入 - $ 不是函数

Ani*_*ish 2 javascript jquery npm typescript

我在 jquery 中使用打字稿,但我不断收到

未捕获的类型错误:$ 不是函数

有没有人见过这个?

我正在将 typescript 编译为 ES2017,然后使用 webpack 编译为 ES5。

//tsconfig
{
      "compileOnSave": true,
      "compilerOptions": {
        "module": "es2015",

        "removeComments": true,
        "preserveConstEnums": true,
        "sourceMap": true,
        "target": "es2017",
        "noImplicitAny": false,
        "outDir": "Output",
        "esModuleInterop": true

      }
    }
Run Code Online (Sandbox Code Playgroud)

如何使用 jquery

import * as $ from "jquery";
 var form = $(document.createElement('form'));
Run Code Online (Sandbox Code Playgroud)

浏览器看到jquery($) 在此处输入图片说明

但后来我明白了

在此处输入图片说明

Ani*_*ish 6

找到了解决办法。要使用 $ 作为函数,我必须从 jquery npm 模块中导入默认值。使用此导入语句,它可以工作。

import $ from "jquery";
Run Code Online (Sandbox Code Playgroud)

我还必须在 tsconfig.json 中打开它

"allowSyntheticDefaultImports":  true
Run Code Online (Sandbox Code Playgroud)