typescript - 汇总 typescript 装饰器支持

标签 typescript decorator rollup

我收到以下错误消息:

Error: Parse Error: Line 29: Unexpected token ILLEGAL



对应的代码行是 mobx 观察者装饰器:
@observer
class Wrapper extends Component<IProps> {

我有以下 rollup.config.js:
import typescript from 'rollup-plugin-typescript2'
import jsx from 'rollup-plugin-jsx'
import pkg from './package.json'
export default {
  input: 'src/index.ts',
  output: [
    {
      file: pkg.main,
      format: 'cjs',
    },
    {
      file: pkg.module,
      format: 'es',
    },
  ],
  external: [
    ...Object.keys(pkg.dependencies || {}),
    ...Object.keys(pkg.peerDependencies || {}),
  ],
plugins: [
    jsx( {factory: 'React.createElement'} ),
    typescript({
      typescript: require('typescript'),
    }),
  ],
}

我的 tsconfig.json:
{
  "compilerOptions": {
    "declaration": true,
    "declarationDir": "./dist",
    "module": "es6",
    "experimentalDecorators": true,
    "outDir": "./dist",
    "target": "es5",
    "jsx": "react",
    "types": ["reflect-metadata", "node"],
    "skipLibCheck": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "strict": false,
    "forceConsistentCasingInFileNames": true,
    "strictPropertyInitialization": false,
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "noEmit": true,
    "emitDecoratorMetadata": true,
    "noEmitHelpers": true,
    "importHelpers": true,
    "sourceMap": true,
    "noImplicitReturns": false,
    "noImplicitThis": false,
    "noImplicitAny": false,
    "strictNullChecks": false,
    "suppressImplicitAnyIndexErrors": false,
    "noUnusedLocals": true
  },
  "include": [
    "src/**/*"
  ],
  "exclude": ["node_modules"]
}

正如文档所说,https://github.com/ezolenko/rollup-plugin-typescript2插件应该从我的 tsconfig.json 文件中获取所有选项,还有“experimentalDecorators”:true,但似乎不起作用。

最佳答案

不是 100% 确定这适用,因为我的错误略有不同( Error: Unexpected character '@' )。

但是通过汇总与 TypeScript 装饰器一起解决的问题是删除 outDir选项来自 tsconfig.json .

关于typescript - 汇总 typescript 装饰器支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56804072/

相关文章:

angular - 如何设置 typescript (Angular 2)中md-checkbox中选中的值

python - 将装饰器的函数传递给 Python RQ

编译时调用的 Python 装饰器函数

sql - 分组集、汇总但具有多列

php - 如何替换 MySQL ROLLUP 函数中的 NULL 类别标题?

javascript - ngIf 和 @Input angular2 奇怪的行为

javascript - 如何初始化一组组件的服务中的属性?

typescript - noImplicitAny 不工作 typescript

typescript - 如何将额外的参数传递给 TypeScript 中的属性装饰器?

javascript - 将 npm 模块集成到一个普通的 Javascript 应用程序中,不知道如何修复错误