javascript-如何在TypeScript中为节点使用无类型的JS NPM模块?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-如何在TypeScript中为节点使用无类型的JS NPM模块?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1971字,纯文字阅读大概需要3分钟。
内容图文
我刚刚开始使用TypeScript进行实验,并且我有以下项目结构:
-src
| index.ts
| MyClass.ts
-node_modules
-npm_js_module
| index.js
| utils.js
- src
| someModuleFile.js
| someModuleFile2.js
我需要在MyClass.ts中使用npm_js_module / index.js(以及pm_js_module / src中的函数,但index.js需要这些函数)中的函数.该模块是无类型的,没有其他人可以在线输入.甚至可以在打字稿项目中使用未打字的JavaScript NPM模块吗?
当我尝试编译该项目时,出现此错误:
error TS6059: File '/node_modules/npm_js_module/index.js' is not under 'rootDir' '/src'. 'rootDir' is expected to contain all source files.
error TS6059: File '/node_modules/npm_js_module/utils.js'' is not under 'rootDir' '/src'. 'rootDir' is expected to contain all source files.
我的tsconfig.json看起来像这样:
{
"compilerOptions": {
"moduleResolution": "node",
"module": "commonjs",
"target": "es2017",
"outDir": "./bin",
"rootDir": "./src",
"sourceMap": true,
"allowJs" : true,
"baseUrl" : "./",
"paths": {
"*" : ["./node_modules/@types/*", "*"]
}
},
"files": [
"./node_modules/@types/node/index.d.ts",
"./node_modules/npm_js_module/index.js"
],
"include": [
"src/**/*.ts",
"./node_modules/npm_js_module/*"
],
"exclude": [
"./node_modules"
]
}
和package.json像这样:
{
"name": "myproject",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"@types/node": "^8.0.30"
},
"dependencies": {
"npm_js_module": "^1.2.3"
}
}
我正在使用这种方式导入该模块:import * as’npm_js_module’作为mymodule;其中VScode在代码中显示此错误:类型'(loginData:any,options:any,callback:any)=>属性’login’不存在.无效”.当我尝试编译它时,会出现我上面写的错误.
解决方法:
它不是很清晰,但是埋在文档中:
如果向下滚动,则会看到标有以下内容的部分:
出口=和进口= require()
When importing a module using export =, TypeScript-specific import module = require(“module”) must be used to import the module.
并显示了一个示例:
import zip = require("./ZipCodeValidator");
希望这可以帮助.
内容总结
以上是互联网集市为您收集整理的javascript-如何在TypeScript中为节点使用无类型的JS NPM模块?全部内容,希望文章能够帮你解决javascript-如何在TypeScript中为节点使用无类型的JS NPM模块?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。