代码之家  ›  专栏  ›  技术社区  ›  Blagoh

排列上的typeAnnotation错误

  •  1
  • Blagoh  · 技术社区  · 9 年前

    import type { Shape as BrowserActionShape } from '../../../flow-control/browser-action'
    
    type Props = {
        // redux
        ...BrowserActionShape
    }
    
    const rawr:Props= { title:'blah' } // this works
    

    BrowserShape的定义如下:

    export type Shape = {
        badgeColor?: string,
        badgeText?: string,
        title?: string
    }
    

    Flow工作得很好,但是使用webpack构建会导致编译错误和失败:

    ERROR in ./src/webext/background/Background/BrowserAction/index.js
    Module build failed: TypeError: Cannot read property 'typeAnnotation' of undefined
        at Referencer.checkIdentifierOrVisit (C:\Users\Blagoh\Documents\GitHub\My-Cool-App\node_modules\babel-eslint\index.js:206:13)
        at Referencer.visitTypeAnnotation (C:\Users\Blagoh\Documents\GitHub\My-Cool-App\node_modules\babel-eslint\index.js:181:38)
        at Referencer.referencer.TypeAlias (C:\Users\Blagoh\Documents\GitHub\My-Cool-App\node_modules\babel-eslint\index.js:347:27)
        at Referencer.Visitor.visit (C:\Users\Blagoh\Documents\GitHub\My-Cool-App\node_modules\esrecurse\esrecurse.js:122:34)
        at Referencer.Visitor.visitChildren (C:\Users\Blagoh\Documents\GitHub\My-Cool-App\node_modules\esrecurse\esrecurse.js:101:38)
        at Referencer.Program (C:\Users\Blagoh\Documents\GitHub\My-Cool-App\node_modules\escope\lib\referencer.js:419:18)
        at Referencer.Visitor.visit (C:\Users\Blagoh\Documents\GitHub\My-Cool-App\node_modules\esrecurse\esrecurse.js:122:34)
        at Object.analyze (C:\Users\Blagoh\Documents\GitHub\My-Cool-App\node_modules\escope\lib\index.js:153:16)
        at Object.escope.analyze (C:\Users\Blagoh\Documents\GitHub\My-Cool-App\node_modules\babel-eslint\index.js:90:27)
        at EventEmitter.module.exports.api.verify (C:\Users\Blagoh\Documents\GitHub\My-Cool-App\node_modules\eslint\lib\eslint.js:892:35)
        at processText (C:\Users\Blagoh\Documents\GitHub\My-Cool-App\node_modules\eslint\lib\cli-engine.js:264:31)
        at CLIEngine.executeOnText (C:\Users\Blagoh\Documents\GitHub\My-Cool-App\node_modules\eslint\lib\cli-engine.js:754:26)
        at lint (C:\Users\Blagoh\Documents\GitHub\My-Cool-App\node_modules\eslint-loader\index.js:218:17)
        at Object.module.exports (C:\Users\Blagoh\Documents\GitHub\My-Cool-App\node_modules\eslint-loader\index.js:213:21)
     @ ./src/webext/background/Background/index.js 35:21-47
    

    1 回复  |  直到 9 年前
        1
  •  1
  •   Adam    9 年前

    嗯,很难说。类似的代码似乎适用于我。你能检查一下你有最新版本的吗 babel ,Babel流预设,以及 babel-eslint ? 如果升级无法解决问题,你能提供你目前使用的版本以及你的babel/webpack配置的详细信息吗?