簡體   English   中英

Browserify Rails錯誤-ParseError:“導入”和“導出”可能僅與“ sourceType:模塊”一起出現

[英]Browserify Rails Error - ParseError: 'import' and 'export' may appear only with 'sourceType: module'

最近,我想將NPM軟件包集成到我的Rails應用程序中。 我得到這個問題:

在此處輸入圖片說明

如果有人遇到和我一樣的問題,我會在這個論壇中搜索。 是的,我在這里看到了類似的問題,但他們有不同的錯誤。

以下是我的application.js中的內容:

 //= require jquery //= require jquery_ujs //= require turbolinks //= require react //= require react_ujs //= require components //= require react-select //= require react-dom //= require classnames //= require_tree . $(function(){ $(document).foundation(); }); 

這是我嘗試導入包的地方

 var React = require('react'); var ReactDOM = require('react-dom'); var FileBase64 = require('react-file-base64'); var MembersNew = React.createClass( { render() { return( <div> <h5>ACCOUNT DETAILS</h5> <hr/> <p>Fill in your member account details below</p> <b>Membership ID : </b> <div className="row"> <div className="medium-6 columns"> <label>Username* <input ref="name" type="text"/> </label> <label>First Name* <input ref="name" type="text"/> </label> <label>Last Name* <input ref="name" type="text"/> </label> <label>Email Address* <input ref="name" type="text"/> </label> </div> 

我將我的gemfile弄亂了,如下所示。 也許這就是問題發生的原因:

 source 'https://rubygems.org' git_source(:github) do |repo_name| repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/") "https://github.com/#{repo_name}.git" end gem 'rails-assets-react-select','~> 1.0.0.rc.3', source: 'https://rails-assets.org' gem 'rails-assets-react-dom', source: 'https://rails-assets.org' gem 'rails-assets-classnames', source: 'https://rails-assets.org' # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' gem 'rails', '~> 5.0.2' # Use postgresql as the database for Active Record gem 'pg', '~> 0.18' # Use Puma as the app server gem 'puma', '~> 3.0' # Use SCSS for stylesheets gem 'sass-rails', '~> 5.0' # Use Uglifier as compressor for JavaScript assets gem 'uglifier', '>= 1.3.0' # Use CoffeeScript for .coffee assets and views gem 'coffee-rails', '~> 4.2' # See https://github.com/rails/execjs#readme for more supported runtimes # gem 'therubyracer', platforms: :ruby gem 'react-rails' # Use jquery as the JavaScript library gem 'jquery-rails' # Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks gem 'turbolinks', '~> 5' # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder gem 'jbuilder', '~> 2.5' # Use Redis adapter to run Action Cable in production # gem 'redis', '~> 3.0' # Use ActiveModel has_secure_password # gem 'bcrypt', '~> 3.1.7' gem 'responders' gem 'foundation-rails' # Use Capistrano for deployment # gem 'capistrano-rails', group: :development gem 'browserify-rails' 

有人可以幫助我解決此錯誤嗎?

我認為您可能遇到的問題是,您嘗試安裝和使用的npm模塊是ES6 JS模塊。 從錯誤日志中,我想您正在使用Browserify加載JS模塊。 開箱即用的IIRC Browserify僅支持Common JS模塊,這意味着您必須通過Babel或Babelify(babel的browserify轉換)之類的工具運行JS, module.exports使用module.exports語法將該ES6模塊轉換為ES5模塊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM