У меня есть файл data.json, который я бы хотел загрузить и который я поместил в папку lib /. Что я должен сделать, чтобы загрузить этот JSON в переменную на сервере? БлагодаряИмпорт файла JSON в Meteor
ответ
Существует три способа сделать это, это зависит от того, что вам больше всего нравится с & ваш случай использования.
Во-первых, сохранить его как объект JS
если данные JSON является { "name":"bob" }
вы могли бы использовать myjson = {"name":"bob"}
в .js
файл в папке /lib
и просто позвонить myjson
, когда вам это нужно.
Использование HTTP вызов
Вам нужен Meteor http
пакет, установленный с помощью meteor add http
.
стороне сервера код
myobject = HTTP.get(Meteor.absoluteUrl("/myfile.json")).data;
стороне клиента Код
HTTP.get(Meteor.absoluteUrl("/myfile.json"), function(err,result) }
console.log(result.data);
});
Другой способ сделать это, чтобы принести стиль JSON файл АЯКС (вы должны положить его в /public
, и использовать Meteor.http
, чтобы позвонить ему.
Прочитайте файл непосредственно
Наконец вы можете прочитать файл непосредственно, вы храните ваши myfile.json
в private
директории в корне вашего проекта:
var myjson = {};
myjson = JSON.parse(Assets.getText("myfile.json"));
Если вы хотите получить доступ к этому на клиентской стороне вы должен был бы взаимодействовать с Meteor.methods и Meteor.звоните
Так в зависимости от того, как вы хотите, то первое является самым простым, но я не слишком уверен, как вы хотите использовать его или хотите ли вы, чтобы выбрать файл или что-то
Как я новичок на все это, я подозреваю, что это не правильно способа сделать это, но это работает для меня ...
Три кофе сценарий файлов, два в каталоге сервера :
server.coffee:
Meteor.startup ->
insertSample = (jsondata) ->
Fiber(->
Documents.insert
name: "Sample doc"
data: jsondata
).run()
if Documents.find().count() is 0
insertJSONfile("tests/test.json", insertSample)
и insertJSONfile.coffee:
fs = __meteor_bootstrap__.require("fs")
insertJSONfile = (file, insert) ->
jsondata = undefined
fs.readFile file, (err, data) ->
throw err if err
jsondata = JSON.stringify(JSON.parse(data))
insert(jsondata)
и model.coffee в корневой директории:
@Documents = new Meteor.Collection("documents")
При запуске этого необходимо загрузить и вставить файл в формате JSON (в моем случае я хранить это в каталоге тестов) в поле в документах коллекция.
Я хотел бы услышать от других, как это должно быть сделано правильно.
Я предполагаю, что вы хотите, чтобы содержание JSon быть представленным как объект, а не как простая строка.
Я использую js-yaml (https://github.com/nodeca/js-yaml), предполагая, что вы устанавливаете пакет npm. Вы также можете просто скопировать его вручную.
yaml = __meteor_bootstrap__.require('js-yaml')
fs = __meteor_bootstrap__.require('fs')
content = fs.readFileSync(file, 'utf8')
object = yaml.load(content)
и все! Я лично сохраняю свой json в коллекции метеоров.
- 1. Meteor-package: Импорт JSON-массива в mongoDB
- 2. Импорт json-файла в Cassandra
- 3. Импорт файла JSON в React
- 4. Импорт файла JSON в Postgres
- 5. Импорт файла Json в Mongoose
- 6. Импорт файла JSON в Firebase
- 7. Импорт файла JSON в mongos
- 8. Импорт SCSS в Meteor
- 9. Импорт стильного файла в другую папку в Meteor
- 10. Импорт файлов стилей в Meteor
- 11. Импорт файла данных JSON в таблицу
- 12. Импорт json-файла в d3.js
- 13. Импорт файла php json в swift
- 14. Импорт файла JSON в новом свежем mnogodb
- 15. Импорт данных из файла JSON в R
- 16. Импорт JSON-файла в ошибку Firebase
- 17. Импорт/индекс файла JSON в Elasticsearch
- 18. Импорт данных из json-файла в R
- 19. Импорт файла JSON в таблицу BigQuery Google
- 20. Импорт .JSON в MySQL
- 21. Импорт класса в модуль npm в meteor
- 22. Импорт JSON-файла с javascript (не JQuery)
- 23. Импорт новой вершины из внешнего JSon файла
- 24. Импорт и использование содержимого файла .json
- 25. Прямое использование formData (импорт/выгрузка json-файла)
- 26. Импорт npm .scss в приложение Meteor
- 27. Зачем нужен импорт пакетов в Meteor
- 28. Импорт Flat-Ui в приложение Meteor
- 29. Импорт локального json-файла с использованием d3.json не работает
- 30. Импорт JSON в MONGODB
В итоге я использовал первое решение, так как оно является самым простым. Я добавил файл/сервер, чтобы он не загружался на клиент. Спасибо – Alex
Hi Akshat Я пробовал ваш код, но я получаю «ReferenceError: __meteor_bootstrap не определен». Мой json-файл находится в той же папке, что и файл js. –
Является ли этот код на стороне клиента? Вышеизложенное будет работать только в блоке 'if (Meteor.isServer) {..}' или где-либо на стороне сервера js, например, в папке '/ server'. npm модули не могут быть включены на клиенте, поэтому вместо этого вы можете получить его с помощью http-вызова – Akshat