2015-12-23 2 views
0

У меня возникли проблемы с основной вещью в coffeescript. Я пытаюсь прочитать JSON-файл, но он не работает. Я получаюRails ReferenceError: require не определен (fs)

ReferenceError: require is not defined

, который указывает на этой линии

fs = require ("fs") 

Весь мой сценарий это (routes.js.coffee):

loadFiles = -> 
    fs = require "fs" 
    fs.readFile 'A4.json', (err, geoData) -> fileText = geoData 

ready = -> 
    geoData = loadFiles() #Guess this line is wrong but I need to focus on the other error 
    map = L.map('map').setView([5.81107293, -73.030279174], 13) 

    L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png? access_token={accessToken}', { 
attribution: 'Map data &copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://mapbox.com">Mapbox</a>', 
maxZoom: 18, 
#Some irrelevant code... 
}).addTo(map); 

$(document).ready(ready) 
$(document).on('page:load', ready) 

Я читал другие связанные с этим вопросы, но предлагаемые решения не сработали для меня (закажите импорт). Мой application.js это:

//= require jquery 
//= require jquery_ujs 
//= require leaflet 
//= require turbolinks 
//= require bootstrap-sprockets 
//= require_tree . 

Заранее спасибо

ответ

0

Если вы действительно хотите использовать require на стороне клиента, то вы должны рассмотреть, чтобы добавить require.js использовать Require.js.

В этом случае, похоже, что вы просто пытаетесь получить некоторые данные в json-файле динамически. Вы можете попробовать somethiing так:

ready = -> 
    $.get "A4.json", (geoData)-> 
    fileText = geoData 
    map = L.map('map').setView([5.81107293, -73.030279174], 13) 
    # ... 
+0

я не знаю, что это был еще один вариант !, спасибо за предложение, я буду использовать его вместо того, чтобы ... Вы уверены, что это правильный код ?, Я m получение ** ReferenceError: geoData не определен ** – user2782149

+0

Нет, я не уверен. Этот фрагмент кода сосредоточен на том, чтобы показать вам, как использовать метод get jquery. Это geoData - это только данные, возвращенные из этого файла. Если, если вы говорите, что это не определено, возможно, ваш отступ не прав. попробуйте поставить более двух пробелов вправо – Tofani

+0

На самом деле этот код геоданных, по крайней мере, в вашем опубликованном коде, не используется. Вам действительно нужно прочитать эти данные? – Tofani

Смежные вопросы