programing

롤업 구성 파일에서 유형 스크립트를 지원합니까?

bestprogram 2023. 6. 21. 22:48

롤업 구성 파일에서 유형 스크립트를 지원합니까?

롤업 구성 파일을 작성하는 데 유형 스크립트를 사용할 수 있는 것 같습니다.예를 들어, 다음 파일을 만들 수 있습니다.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를 사용하려고 했습니다.

당분간 JSDoc은 아직 지원되지 않지만 롤업 구성 확인을 입력하는 데 유용할 수 있습니다.(예: VSCode와 같이 JSDoc를 지원하는 편집기에서만 작동합니다.)

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

export default options;

TypeScript에서 롤업 구성을 만들 수 있습니다.

import { RollupOptions } from "rollup";

const bundle: RollupOptions = {
//...
}
export default bundle

그리고 그것과 함께 사용합니다.

rollup --config rollup.config.ts --configPlugin @rollup/plugin-typescript

추가해야 합니다.rollup.config.tstsconfig.json에 포함된 파일로 이동합니다.

{
    "include": ["src/**/*", "rollup.config.ts"]
}

별도로 생성할 수 있습니다.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물론이야.그럼 실행npx rollup -c그리고 당신은 경주에 갑니다.

롤업 v2.52.0을 사용하여 다음을 지정할 수 있습니다.--configPlugin옵션:

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

실제로 가능합니다. 그냥 가져오기만 하면 됩니다.defineConfig부터rollup이를 통해 다음과 같은 훌륭한 IDE 제안을 얻을 수 있습니다.

//rollup.config.js

import { defineConfig } from 'rollup';

const rollupConfig = defineConfig({
  input: 'src/index.tsx',
  output: [
    {
      file: 'dist/bundle.cjs.js',
      format: 'cjs',
    },
  ],
});

export default rollupConfig;

롤업 v3 TypeScript 구성

개발 종속성

npm i -D typescript tslib @types/node rollup @rollup/plugin-typescript
import type { RollupOptions } from 'rollup';

const config: RollupOptions = {
    /* your config */
};
export default config;
"build": "rollup -c --configPlugin typescript"

그렇다면rollup.config.ts이름은 생략할 수 있습니다.

추가하는 것을 기억하십시오.rollup.config.ts에서tsconfig.json파일, 이 단계에서 걸려 넘어졌기 때문입니다.

"include": ["src/**/*.ts", "rollup.config.ts"],

롤업 문서

https://rollupjs.org/command-line-interface/ #config-intellisense

가장 빠른 컴파일은 다음과 같습니다.

npm install sucrase -D

그리고 당신의 안에서rollup.config.js수행:

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

https://github.com/alangpierce/sucrase

언급URL : https://stackoverflow.com/questions/54711437/does-rollup-support-typescript-in-rollup-config-file