汇总支持配置文件中的打字稿吗?

时间:2019-02-15 14:29:51

标签: typescript rollup

似乎我们可以使用打字稿来编写汇总配置文件。说,我可以创建一个名为rollup.config.ts的文件,其内容为:

import typescript from 'rollup-plugin-typescript2';

export default {
  input: 'main.ts',
  plugins: [typescript()],
  output: {
    file: 'bundle.js',
    format: 'cjs',
  },
  external: ['lodash']
}

如果我以rollup -c rollup.config.ts的方式调用汇总,则可以正常工作。

但是,如果我在其中输入一些内容:

import typescript from 'rollup-plugin-typescript2';
import {RollupFileOptions} from "rollup";

const config: RollupFileOptions = {
  input: 'main.ts',
  plugins: [typescript()],
  output: {
    file: 'bundle.js',
    format: 'cjs',
  },
  external: ['lodash']
}

export default config;

它将报告如下错误:

$ rollup -c rollup.config.ts
[!] Error: Unexpected token
rollup.config.ts (4:12)
2: import {RollupFileOptions} from "rollup";
3: 
4: const config: RollupFileOptions = {
                 ^

是否有可能使其工作?我尝试将ts-node与

一起使用

4 个答案:

答案 0 :(得分:6)

您可以创建一个单独的<input id="demo"></input> <button onclick="saveText()" type="button">save</button> <p id="test"></p> ,如下所示:

rollup.config.js

您当然需要require('ts-node').register({ compilerOptions: { module: 'CommonJS' }, // and other tsconfig.json options as you like }); module.exports = require('./rollup.config.ts'); 。然后运行npm install --save-dev ts-node,您就可以参加比赛了。

答案 1 :(得分:3)

在此期间,虽然尚不支持,但JSDoc可能有助于键入检查汇总配置的信息。 (仅适用于支持JSDoc的编辑器,例如VSCode)。

/** @type {import('rollup').RollupOptions} */
const options = {
  ...
};

export default options;

答案 2 :(得分:0)

为了最快的编译,请使用:

npm install sucrase -D

在您的 rollup.config.js 中,执行以下操作:

require('sucrase/register')
module.exports = require('./rollup.config.ts')

https://github.com/alangpierce/sucrase

答案 3 :(得分:0)

使用 Rollup v2.52.0,您可以将 --configPlugin 选项指定为:

rollup --config rollup.config.ts --configPlugin typescript