Typescript和JQuery编译错误:找不到名称'$';
我正在用jquery测试typescript,但是当我编译test.ts文件时,它总是给我一个错误,指示:找不到名称“$” 我已经导入了jquery并添加了它的定义引用。 如果在我的Typescript和JQuery编译错误:找不到名称'$';,jquery,typescript,typescript-typings,Jquery,Typescript,Typescript Typings,我正在用jquery测试typescript,但是当我编译test.ts文件时,它总是给我一个错误,指示:找不到名称“$” 我已经导入了jquery并添加了它的定义引用。 如果在我的test.ts文件中使用import$=require(“jquery”),则在编译tsc时会出现另一个错误“找不到模块jquery”。但是,JQuery文件夹已经存在于node_modules文件夹中 有人知道在typescript中使用jquery的正确方法吗 以下是我的步骤: 使用npm安装jquery--sa
test.ts
文件中使用import$=require(“jquery”)
,则在编译tsc
时会出现另一个错误“找不到模块jquery
”。但是,JQuery文件夹已经存在于node_modules文件夹中
有人知道在typescript中使用jquery的正确方法吗
以下是我的步骤:
npm安装jquery--save安装jquery
typings安装--global--save dt~jquery安装typings和jquery定义
{
"compilerOptions": {
"jsx": "react",
"outDir": "./dist",
"sourceMap": true,
"noImplicitAny": true,
"module": "commonjs",
"target": "es5",
"experimentalDecorators": true
},
"exclude": [
"node_modules"
],
"files": [
"./typings/index.d.ts",
"./src/wo/tests/test.ts",
]
}
测试.ts
/// <reference path="../../../typings/globals/jquery/index.d.ts" />
let test:any=$("div");
//
let test:any=$(“div”);
我不知道这是否有帮助,但我为我的日期选择器解决了同样的问题
首先,我使用以下命令安装jQuery:npm install--save dev@types/jQuery
然后在angular-cli.json文件中添加依赖项:
"styles": [
"../node_modules/bootstrap/dist/css/bootstrap.css",
"../node_modules/font-awesome/css/font-awesome.css",
"../node_modules/ng2-datetime/src/vendor/bootstrap-datepicker/bootstrap-datepicker3.min.css",
"styles.css"
]
"scripts": [
"../node_modules/jquery/dist/jquery.js",
"../node_modules/ng2-datetime/src/vendor/bootstrap-datepicker/bootstrap-datepicker.min.js"
]
我认为添加jQuery部分可能会对您有所帮助。请让我知道它是否有效。如果您发现这些错误90%是因为@types/jquery的版本控制问题 尝试运行: 然后在
app.module.ts
中:
然后运行:
您应该已经准备就绪。安装并导入以下软件包。它将解决错误(“找不到名称“$”)。角度版本是7
导入“datatables.net” 您可能有一些需要修复的漏洞 运行
npm audit fix
修复它们,或npm audit
获取详细信息
import * as $ from "jquery";
不适合我。很有趣
import { ajax, css } from "jquery";
实际上解决了我的问题。你是如何编译这个项目的?另外,您的
tsconfig.json
定义似乎是错误的。您不能同时使用排除
和文件
(文件
在这种情况下将获胜,因此可能路径错误)。另外,您不需要///您可以参考下面的链接了解此解决方案,它的工作是使用$和查询typescript中的所有函数。链接:npm安装--save dev@types/jquery
解决了这个问题。谢谢。只有将它与“jquery”中的import*合并为$代码>解决了我的问题。在angular 6中,angular-cli.json变为angular.json,但我不需要修改脚本部分。只需npm安装--将dev@types/jquery
和import*保存为$from'jquery'
足以构建这个函数,虽然我必须将jquery放在一个字符串中,比如import*中的$from“jquery”代码>。IntelliJ以灰色突出显示它是一个未使用的导入,但应用程序将仅使用这一行进行编译。最后一步是我需要的jquery@3.3.1
Hello@Ignatius Andrew,它成功了,但我收到了一些警告,比如app/app.module.ts[14,13]:未使用的导入:'$'
Praveen Kumar。。将自定义键入作为类型“any”添加到“$”中,它应该消失。
npm install @types/jquery@2.0.47
import * as $ from "jquery";
import { ajax, css } from "jquery";