rollup-plugin-typescript

2018-11-20 admin

rollup-plugin-typescript是什么

什么是rollup-plugin-typescript,Seamless integration between Rollup and TypeScript.

rollup-plugin-typescript使用教程帮助文档

rollup-plugin-typescript

Build Status npm-version npm-monthly-downloads npm-dependencies

Seamless integration between Rollup and Typescript.

Why?

See rollup-plugin-babel.

Installation

npm install --save-dev rollup-plugin-typescript typescript tslib

Note that both typescript and tslib are peer dependencies of this plugin that need to be installed separately.

Usage

// rollup.config.js
import typescript from 'rollup-plugin-typescript';

export default {
  input: './main.ts',
  plugins: [
    typescript()
  ]
}

The plugin loads any compilerOptions from the tsconfig.json file by default. Passing options to the plugin directly overrides those options:

...
export default {
  input: './main.ts',
  plugins: [
      typescript({lib: ["es5", "es6", "dom"], target: "es5"})
  ]
}

The following options are unique to rollup-plugin-typescript:

  • options.include and options.exclude (each a minimatch pattern, or array of minimatch patterns), which determine which files are transpiled by Typescript (all .ts and .tsx files by default).

  • tsconfig when set to false, ignores any options specified in the config file. If set to a string that corresponds to a file path, the specified file will be used as config file.

  • typescript overrides TypeScript used for transpilation:

    typescript({
      typescript: require('some-fork-of-typescript')
    })
    
  • tslib overrides the injected TypeScript helpers with a custom version

    typescript({
      tslib: require('some-fork-of-tslib')
    })
    

TypeScript version

Due to the use of tslib to inject helpers, this plugin requires at least TypeScript 2.1. See also here.

Importing CommonJS

Though it is not recommended, it is possible to configure this plugin to handle imports of CommonJS files from TypeScript. For this, you need to specify CommonJS as the module format and add rollup-plugin-commonjs to transpile the CommonJS output generated by TypeScript to ES Modules so that rollup can process it.

// rollup.config.js
import typescript from 'rollup-plugin-typescript';
import commonjs from 'rollup-plugin-commonjs';

export default {
  input: './main.ts',
  plugins: [
    typescript({module: 'CommonJS'}),
    commonjs({extensions: ['.js', '.ts']}) // the ".ts" extension is required
  ]
}

Note that this will often result in less optimal output.

Issues

This plugin will currently not warn for any type violations. This plugin relies on TypeScript’s transpileModule function which basically transpiles TypeScript to JavaScript by stripping any type information on a per-file basis. While this is faster than using the language service, no cross-file type checks are possible with this approach.

This also causes issues with emit-less types, see #28.

你可能感兴趣的文章:

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处。

转载请注明:文章转载自 JavaScript中文网 [https://www.javascriptcn.com]

本文地址:https://www.javascriptcn.com/read-45992.html

文章标题:rollup-plugin-typescript

回到顶部