使用jQuery与ASP.NET Core 2 React模板

时间:2017-11-29 16:00:27

标签: jquery reactjs typescript asp.net-core module

我正在尝试基于ASP.NET Core 2.0中新的 React模板构建一个Web应用

我想通过jQuery发出一个ajax请求。我的问题是模板默认使用TypeScript(tsx)文件,如果我尝试按照

的方式做一些事情
import { $ } from 'jquery'

我收到一个TypeScript错误,说它无法确定$的类型。

根据这个回答https://stackoverflow.com/a/32052431/8991878,我继续做了npm install --save-dev @types/jquery

第一个错误消失了,但现在我得到了

  

模块" jquery:没有导出成员$。

我发现的另一篇帖子建议删除大括号{} 。这样做之后 我反而得到了

  

模块" jquery"没有默认导出

我是一名后端开发人员,我对TypeScript和jQuery都没有很多经验,所以我想我只是做了一些不正确的事情。

我在这里阅读了TypeScript的模块解析https://www.typescriptlang.org/docs/handbook/module-resolution.html,并确认我的package.json文件有"@types/jquery": "^3.2.16"。我在node_modulesnode_modules/@types

中都有jquery

2 个答案:

答案 0 :(得分:1)

我相信jQuery的正确导入方式是最简单的形式:

import 'jquery';

如果您使用本机浏览器加载器执行此操作,则此时需要文件扩展名,因此普通浏览器版本将为:

import './jquery.js';

(这是将实际的jQuery文件复制到root,因此浏览器不必导航到node_modules。

答案 1 :(得分:1)

对于任何想知道的人,通过将import { $ } from 'jquery'更改为import * as $ from 'jquery'

来解决问题