如何处理非打字稿项目要求安装@types的项目依赖项?

时间:2018-10-05 16:32:38

标签: javascript typescript visual-studio-code create-react-app c3.js

我已将function openContentFrom(tag, path){ var xhr = new XMLHttpRequest(); xhr.open("POST", path, true); xhr.onreadystatechange = function(){ if (xhr.readyState === 4){ if (xhr.status === 200){ var txt = xhr.responseText; var trueTxt = txt.substr(txt.indexOf("<" + tag + ">") + 6, txt.indexOf("</" + tag + ">")); document.getElementsByClassName("show-content")["0"].innerHTML = trueTxt; } else{ console.log("Error : " + xhr.status); } } }; xhr.send(this); } openContentFrom("body", "form.jsp"); create-react-app一起使用来建立项目,以便可以将装饰器用于custom-react-scripts。我的目标是使用MobX库进行数据可视化。 一切正常,但是当我尝试从react-c3js导入时,我的IDE(VSCode)向我显示此警告:

  

[ts]   找不到模块“ react-c3js”的声明文件。 “ /Users/banana/code/d3/d3-gdp/node_modules/react-c3js/react-c3js.js”隐式具有“ any”类型。     如果存在,请尝试react-c3js或添加一个包含npm install @types/react-c3js的新声明(.d.ts)文件   模块“ /用户/香蕉/代码/ d3 / d3-gdp / node_modules / react-c3js / react-c3js”

由于我的项目没有使用打字稿,我想我不确定为什么会看到此错误。

这是我的declare module 'react-c3js';

package.json

这是我导入react-c3js并使用其文档中的示例的文件。我在IDE抱怨的那一行上发表了评论:

{
  "name": "d3-gdp",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "custom-react-scripts": "0.2.2",
    "d3": "^5.7.0",
    "mobx": "^5.5.0",
    "mobx-react": "^5.2.8",
    "npm": "^6.4.1",
    "react": "^16.5.2",
    "react-c3js": "^0.1.20",
    "react-dom": "^16.5.2"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"
  },
  "devDependencies": {
    "webpack-dashboard": "^2.0.0"
  }
}

是警告// src/index.js import React from "react"; import ReactDOM from "react-dom"; import "./index.css"; import registerServiceWorker from "./registerServiceWorker"; import C3Chart from "react-c3js"; // IDE COMPLAINS HERE import "c3/c3.css"; const data = { columns: [ ["data1", 30, 200, 100, 400, 150, 250], ["data2", 50, 20, 10, 40, 15, 25] ] }; ReactDOM.render(<C3Chart data={data} />, document.getElementById("root")); registerServiceWorker(); 模块或我的项目有问题吗?这是“如果没有损坏就不要修复”的情况吗? 我的目标是了解此警告的由来以及是否值得关注。感谢您的见解!

1 个答案:

答案 0 :(得分:0)

在工作区设置中,将javascript.validate.enable设置为false。这将禁用对该工作区中任何JS文件的TypeScript检查。