Taro: 组件编译失败

Created on 12 Jun 2018  ·  5Comments  ·  Source: NervJS/taro

求教,我新建一个组件,编译成小程序时报错提示不显示render函数中return后面的圆括号

import Taro, { Component } from '@tarojs/taro';
import { View, Text } from '@tarojs/components';
import './showcase.scss';

export default class Showcase extends Component {
    constructor(props){
        super(props);
    }

    render(){
        return (
            <View className="showcase">showcase</View>
        )
    }
}

错误提示

修改  组件文件  src/components/showcase/showcase.js
错误  编译失败  src/components/showcase/showcase.js
{ SyntaxError: unknown: Unexpected token (9:11)
   7 |
   8 |   render() {
>  9 |     return <View className="showcase">showcase</View>;
     |            ^
  10 |   }
  11 | }
  12 |
    at Parser.pp$5.raise (/Users/neil/Documents/workspace/yinge/node_modules/babel-core/node_modules/babylon/lib/index.js:4454:13)
    at Parser.pp.unexpected (/Users/neil/Documents/workspace/yinge/node_modules/babel-core/node_modules/babylon/lib/index.js:1761:8)
    at Parser.pp$3.parseExprAtom (/Users/neil/Documents/workspace/yinge/node_modules/babel-core/node_modules/babylon/lib/index.js:3750:12)
    at Parser.pp$3.parseExprSubscripts (/Users/neil/Documents/workspace/yinge/node_modules/babel-core/node_modules/babylon/lib/index.js:3494:19)
    at Parser.pp$3.parseMaybeUnary (/Users/neil/Documents/workspace/yinge/node_modules/babel-core/node_modules/babylon/lib/index.js:3474:19)
    at Parser.pp$3.parseExprOps (/Users/neil/Documents/workspace/yinge/node_modules/babel-core/node_modules/babylon/lib/index.js:3404:19)
    at Parser.pp$3.parseMaybeConditional (/Users/neil/Documents/workspace/yinge/node_modules/babel-core/node_modules/babylon/lib/index.js:3381:19)
    at Parser.pp$3.parseMaybeAssign (/Users/neil/Documents/workspace/yinge/node_modules/babel-core/node_modules/babylon/lib/index.js:3344:19)
    at Parser.pp$3.parseExpression (/Users/neil/Documents/workspace/yinge/node_modules/babel-core/node_modules/babylon/lib/index.js:3306:19)
    at Parser.pp$1.parseReturnStatement (/Users/neil/Documents/workspace/yinge/node_modules/babel-core/node_modules/babylon/lib/index.js:2078:26)
  pos: 179,
  loc: Position { line: 9, column: 11 },
  _babel: true,
  codeFrame: '\u001b[0m \u001b[90m  7 | \u001b[39m\n \u001b[90m  8 | \u001b[39m  render() {\n\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m  9 | \u001b[39m    \u001b[36mreturn\u001b[39m \u001b[33m<\u001b[39m\u001b[33mView\u001b[39m className\u001b[33m=\u001b[39m\u001b[32m"showcase"\u001b[39m\u001b[33m>\u001b[39mshowcase\u001b[33m<\u001b[39m\u001b[33m/\u001b[39m\u001b[33mView\u001b[39m\u001b[33m>\u001b[39m\u001b[33m;\u001b[39m\n \u001b[90m    | \u001b[39m           \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n\u001b[90m 10 | \u001b[39m  }\n \u001b[90m 11 | \u001b[39m}\n \u001b[90m 12 | \u001b[39m\u001b[0m' }

更新:
是watch监听到文件变化之后编译失败

Most helpful comment

自定义组件在页面里 import 了必须要在后面的 jsx 里使用哦

All 5 comments

组件是不是在页面里import了,但是没有使用

同样的问题, 但是页面组件能正常编译, 自定义组件就不行

自定义组件在页面里 import 了必须要在后面的 jsx 里使用哦

这报错信息还可以再坑一点吗

这问题解决了, 自定义组件不能在app.js里面使用

Was this page helpful?
0 / 5 - 0 ratings