我刚开始使用打字稿(和节点),来自C#背景。
我正在努力将jquery导入到我的asp.net mvc项目中(我正在使用typescript)。我想要的是看到jquery函数自动完成(或者至少没有主动抱怨,但是当我将它们与对象一起使用时,我收到消息:
'对象'类型
上不存在'on'属性
我也无法访问$。语法。
从另一个SO回答中,我尝试了以下内容,
>npm install --save-dev @types/jquery
但我得到了这个(也许我没有告诉npm正确的文件夹,但我不知道该怎么做)。
D:\location\of\my\csproj\file
npm install --save-dev @types/jquery npm WARN saveError ENOENT: no such file or directory, open 'D:\_dist\package.jso n' D:\_dist `--
@types/jquery@2.0.40
npm WARN enoent ENOENT: no such file or directory, open
'D:\_dist\package.json' npm WARN _dist No description npm WARN _dist
No repository field. npm WARN _dist No README data npm WARN _dist No
license field.
在执行此操作后,我在代码中添加了import $ from "jquery";
。毫不奇怪,它没有找到jquery,我无法正确引用它。
所以我的问题是我需要做些什么才能让它发挥作用?
感谢您的帮助。
答案 0 :(得分:1)
抱怨目录中没有package.json
个文件。所以要么你在错误的目录中执行它(应该在你的项目根目录中),要么还没有在项目根目录中创建package.json
。
如果是后者,请转到项目根目录并在命令行执行以下命令:
npm init
运行init
并创建package.json
文件后,JQuery类型将可用。
编辑:修订;以上建议不正确。无论出现什么错误,NPM都应该安装类型文件。下一个潜在问题是TypeScript无法识别定义文件。
此时可能的是编译器无法识别类型文件。我没有看到您对tsconfig.json
文件的任何引用。如果尚未在项目根目录中运行它,请运行以下命令创建默认文件:
tsc --init
TypeScript将自动导入@types
包提供的定义文件,但仅限于tsconfig.json
文件存在。