RollupError:意外的令牌(请注意,您需要插件来导入非 JavaScript 的文件)

问题描述 投票:0回答:1

当我使用此汇总

"rollup": "^3.27.0"
编译项目时,显示错误:

 y-websocket git:(ts-migration)  npm run build
npm info using [email protected]
npm info using [email protected]

> [email protected] build
> tsc --outDir dist/lib --declarationDir dist/types --declaration true && rollup -c


./src/y-websocket.ts → dist/y-websocket.cjs...
[!] RollupError: Unexpected token (Note that you need plugins to import files that are not JavaScript)
src/y-websocket.ts (28:21)
26:  * @type {Array<function(encoding.Encoder, decoding.Decoder, WebsocketProvider, boolean,    number):void>}
27:  */
28: const messageHandlers: any[] = [];
                         ^
29: 
30: messageHandlers[messageSync] = (
    at error (/Users/xiaoqiangjiang/source/reddwarf/backend/y-websocket/node_modules/rollup/dist/shared/rollup.js:353:30)
    at Module.error (/Users/xiaoqiangjiang/source/reddwarf/backend/y-websocket/node_modules/rollup/dist/shared/rollup.js:15237:16)
    at Module.tryParse (/Users/xiaoqiangjiang/source/reddwarf/backend/y-websocket/node_modules/rollup/dist/shared/rollup.js:15968:25)
    at Module.setSource (/Users/xiaoqiangjiang/source/reddwarf/backend/y-websocket/node_modules/rollup/dist/shared/rollup.js:15569:39)
    at ModuleLoader.addModuleSource (/Users/xiaoqiangjiang/source/reddwarf/backend/y-websocket/node_modules/rollup/dist/shared/rollup.js:25804:20)

我尝试将

"@rollup/plugin-typescript": "^12.1.2"
包和 typecrit 插件添加到滚动配置文件中,如下所示:

import typescript from '@rollup/plugin-typescript';

export default {
  input: './src/y-websocket.ts',
  external: id => /^(lib0|yjs|y-protocols)/.test(id),
  output: [{
    name: 'y-websocket',
    file: 'dist/y-websocket.cjs',
    format: 'cjs',
    sourcemap: true,
    dir: 'dist',
    paths: path => {
      if (/^lib0\//.test(path)) {
        return `lib0/dist${path.slice(4)}.cjs`
      } else if (/^y-protocols\//.test(path)) {
        return `y-protocols/dist${path.slice(11)}.cjs`
      }
      return path
    },
    plugins: [typescript()]
  }]
}

仍然没有解决这个问题,我错过了什么吗?我应该怎么做才能解决这个问题?我已在 tsconfig.ts 文件中添加 rootDir,如下所示:

"rootDir": "src", 

没有解决这个问题。

typescript rollup
1个回答
0
投票

请仔细查看

Rollup
的基本
typescript
配置:

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

export default {
  input: 'src/app.ts',
  output: {
    dir: 'output',
    format: 'cjs',
  },
  plugins: [typescript()],
};

plugins
部分应位于导出对象的根部。在您的情况下,它位于
output
数组的元素内。

我认为这就是你错误的原因。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.