意外的令牌模块生成失败:SyntaxError

Unexpected token Module build failed: SyntaxError

本文关键字:失败 SyntaxError 令牌 模块 意外      更新时间:2023-09-26

I移植GiftedMessager

1:https://github.com/FaridSafi/react-native-gifted-messenger在网络上。我能够解决以前的问题

现在我陷入了新的问题,我无法移植反应原生解析文本。我在终端窗口上发现的错误是

 [684] ./~/react-native-communications/AKCommunications.js 5.16 kB {0} [built]
ERROR in ./~/react-native-parsed-text/src/ParsedText.js
Module build failed: SyntaxError: /Users/Gaurav/WebWork/ReactWeb/Practise/react-native-web-exploding-hearts-master/node_modules/react-native-parsed-text/src/ParsedText.js: Unexpected token (23:21)
  21 | class ParsedText extends React.Component {
  22 | 
> 23 |   static displayName = 'ParsedText';
     |                      ^
  24 | 
  25 |   static propTypes = {
  26 |     ...React.Text.propTypes,

我的网络配置是,

'use strict';
var path = require('path');
var webpack = require('webpack');
var HtmlPlugin = require('webpack-html-plugin');
var HasteResolverPlugin = require('haste-resolver-webpack-plugin');
var IP = '0.0.0.0';
var PORT = 3000;
var NODE_ENV = process.env.NODE_ENV;
var ROOT_PATH = path.resolve(__dirname, '..');
var PROD = 'production';
var DEV = 'development';
let isProd = NODE_ENV === 'production';
var config = {
  paths: {
    src: path.join(ROOT_PATH, '.'),
    index: path.join(ROOT_PATH, 'index.ios'),
  },
};
module.exports = {
  ip: IP,
  port: PORT,
  devtool: 'source-map',
  resolve: {
    alias: {
      'react-native': 'react-web',
      'ReactNativeART': 'react-art',
    },
    extensions: ['', '.js', '.jsx'],
  },
  entry: isProd? [
    config.paths.index
  ]: [
    'webpack-dev-server/client?http://' + IP + ':' + PORT,
    'webpack/hot/only-dev-server',
    config.paths.index,
  ],
  output: {
    path: path.join(__dirname, 'output'),
    filename: 'bundle.js'
  },
  plugins: [
    new HasteResolverPlugin({
      platform: 'web',
      nodeModules: ['react-web']
    }),
    new webpack.DefinePlugin({
      'process.env': {
        'NODE_ENV': JSON.stringify(isProd? PROD: DEV),
      }
    }),
    isProd? new webpack.ProvidePlugin({
      React: "react"
    }): new webpack.HotModuleReplacementPlugin(),
    new webpack.NoErrorsPlugin(),
    new HtmlPlugin(),
  ],
  module: {
    loaders: [{
      test: /'.json$/,
      loader: 'json'
    }, {
      test: /'.jsx?$/,
      loaders: ['react-hot','babel?stage=1'],
      include: [config.paths.src],
      exclude: ['/node_modules/', '/node_modules/react-native-gifted-messenger']
    },]
  }
};

我的ParseText代码是

import React from 'react-native';
import TextExtraction from './lib/TextExtraction';
const PATTERNS = {
  url: /https?:'/'/(www'.)?[-a-zA-Z0-9@:%._'+~#=]{2,256}'.[a-z]{2,6}'b([-a-zA-Z0-9@:%_'+.~#?&'/'/=]*)/,
  phone: /['+]?[(]?[0-9]{3}[)]?[-'s'.]?[0-9]{3}[-'s'.]?[0-9]{4,6}/,
  email: /'S+@'S+'.'S+/,
};
const defaultParseShape = React.PropTypes.shape({
  ...React.Text.propTypes,
  type: React.PropTypes.oneOf(Object.keys(PATTERNS)).isRequired,
});
const customParseShape = React.PropTypes.shape({
  ...React.Text.propTypes,
  pattern: React.PropTypes.oneOfType([React.PropTypes.string, React.PropTypes.instanceOf(RegExp)]).isRequired,
});
class ParsedText extends React.Component {
  static displayName = 'ParsedText';
  static propTypes = {
    ...React.Text.propTypes,
    parse: React.PropTypes.arrayOf(
      React.PropTypes.oneOfType([defaultParseShape, customParseShape]),
    ),
  };

static关键字仅适用于ES6中的方法。

请尝试使用const来声明变量。