首页 > 解决方案 > React Rails Uncaught SyntaxError: Unexpected token '!'

问题描述

我想知道如何解决以下错误:

Uncaught SyntaxError: Unexpected token '!'

对应的行是:

return new !(function webpackMissingModule() { var e = new Error("Cannot find module 'leaflet'"); e.code = 'MODULE_NOT_FOUND'; throw e; }()).Attribution(props);

这是我的反应组件代码: app/javascripts/components/squad_map.jsx

import React from "react";
import { Map, Marker, Popup, TileLayer } from "react-leaflet";
import PropTypes from "prop-types";

class SquadMap extends React.Component {
    constructor() {
        super();
        this.state = {};
    }

    render() {
        return (
            <React.Fragment>
                <p>SquadMap</p>
            </React.Fragment>
        );
    }
}

export default SquadMap;

应用程序/javascripts/packs/application.js

import "core-js/stable";
import "regenerator-runtime/runtime";
require("@rails/ujs").start();
require("turbolinks").start();
require("@rails/activestorage").start();
require("channels");

var componentRequireContext = require.context("components", true);
var ReactRailsUJS = require("react_ujs");
ReactRailsUJS.useContext(componentRequireContext);
require("trix");
require("@rails/actiontext");

提前致谢

标签: ruby-on-railsreactjsecmascript-6webpackerreact-rails

解决方案


通过以下方式升级到最新版本解决了这个问题: $ npm outdated -> $ npm update [PACKAGE_NAME] 并且还配置了 babel 代码转译。


推荐阅读