Vue+ts項目導入Js文件方法


修改 tsconfig.json

{
  "compilerOptions": {
    "target": "esnext",
    "module": "esnext",
    "strict": true,
    "jsx": "preserve",
    "importHelpers": true,
    "moduleResolution": "node",
    "experimentalDecorators": true,
    "skipLibCheck": true,
    "esModuleInterop": true,
    "allowJs": true,                                      // 允許js
    "allowSyntheticDefaultImports": true,
    "noImplicitAny": false,                               // 不進行any語法檢查
    "sourceMap": true,
    "baseUrl": ".",
    "types": [
      "webpack-env"
    ],
    "paths": {
      "@/*": [
        "src/*"
      ]
    },
    "lib": [
      "esnext",
      "dom",
      "dom.iterable",
      "scripthost"
    ]
  },
  "include": [
    "src/**/*.js",  // 導入js
    "src/**/*.ts",
    "src/**/*.tsx",
    "src/**/*.vue",
    "tests/**/*.ts",
    "tests/**/*.tsx",
    "public/config.js"  // 導入js
  ],
  "exclude": [
    "node_modules"
  ]
}

oImplicitAny編譯器選項所做的,基本上是將TypeScript從可選類型語言轉換為強制類型檢驗語言。

簡單的:

function logMe(x) {
  console.log(x);
}
// error TS7006: Parameter 'x' implicitly has an 'any' type.

也將報錯——你必須明確聲明x的類型為any:

function logMe(x: any) {
  console.log(x);
}
 // OK

這意味着,如果你要把現有的JS代碼庫遷移到TS,那除了更改文件擴展名,你還得做一些較復雜的東西。這還意味着,在編寫代碼時,您需要更多地關注類型,如果不指定類型,編譯器就總是會「抱怨」。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM