Typescript 3

  1. Create a Node.js project package.json. Quick one : npm init -y
  2. Add TypeScript (npm install typescript --save-dev)
  3. Add node.d.ts (npm install @types/node --save-dev)
  4. Init a tsconfig.json for TypeScript options with a few key options in your tsconfig.json (npx tsc --init --rootDir src --outDir lib --esModuleInterop --resolveJsonModule --lib es6,dom --module commonjs)

Typescript export error: XXX is not a module

 File 'C:/Users/ack47evii18es/Desktop/disqus-proxy/serverV2/src/config.ts' is not a module.

check the code:

index.ts:

import { config } from './config';

config.ts:

interface Config {
  port: number;
  api_key: string;
}

const globalConfig: Config = {
  port: 5050,
  api_key: '',
};

// module.exports = globalConfig; // delete this row
export const config = globalConfig;
import {a} from 'something'; // you will get exported 'a'
import a from 'something'; // you will get exported DEFAULT 'a'

Could not find a declaration file for module ‘xxx’.

Try npm install @types/react-router-dom if it exists or add a new declaration (.d.ts) file containing declare module 'react-router-dom'; TS7016


.d.ts 是一个包含 declaration 的文件。

  1. 首先使用普通模式安装 [package]: npm i {package} -s
  2. 如果这个库里面有 .d.ts, 不需要任何后续的操作。
  3. 如果这个库里面没有 .d.ts, 那么需要提供 @types
    1. https://www.npmjs.com/ 先到这里搜索一下看看能不能找到名为 @types/{packageName} 的 包
    2. 如果可以找到安装 @types: npm i @types/{packageName} -D
    3. 如果不能找到搜索一下 github, 找到的话: npm install github:user project -D
  4. 如果找不到 types, 自己写一个

References

  • https://basarat.gitbooks.io/typescript/docs/quick/nodejs.html
  • https://www.v2ex.com/t/464999