Неожиданный токен v в JSON в позиции 0 Node.js - PullRequest
0 голосов
/ 14 октября 2018

Я занимаюсь разработкой кода на php, в гибкой среде движка приложения.Я пытаюсь настроить SDK Admin, веб-версию для Firebase.

В настоящее время я просто борюсь со следующим кодом:

$.ajax({

        type: 'GET',
        url: "prueba.js",
        dataType: 'json'

    }).done(function(res){

        console.log("Todo bien!");

    }).fail(function(jqXHR,textStatus,err){

        console.log(err);

    }); 

Вышеупомянутый код вызывает через AJAXследующий код (то есть 'prueba.js'):

var admin = require(firebase-admin');
var serviceAccount = require('path/to/json-key.json');

admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: 'https://<database>.firebaseio.com'
});

Этот код вызывает исключение:

SyntaxError: Unexpected token v in JSON at position 0
    at JSON.parse (<anonymous>)
    at n.parseJSON (jquery.min.js:4)
    at ub (jquery.min.js:4)
    at x (jquery.min.js:4)
    at XMLHttpRequest.<anonymous> (jquery.min.js:4)

... и, наконец, что не менее важно, папка иорганизация файлов:

'node_modules', содержащий firebase-admin, находится в корневой папке ('web') вместе с index.js, package.json и package-lock.json

Prueba.html и prueba.js находятся в пути «web / asg / trm / admin»

package.json в папке «web» содержит следующий код:

{
  "name": "web",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "dependencies": {
    "firebase-admin": "^6.0.0"
  },
  "devDependencies": {},
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}

'index.js', напротив, не содержит никакого кода.

Я проверил следующее:

  • В 'require' (в «prueba.js»), я жонглировал различными местами для папки «node_modules» (указывая непосредственно на «package.json», содержащийся в «firebase-admi»).n 'также).

Из-за моего короткого опыта работы с Node.js я провел последние два дня, пытаясь свести концы с концами, но безуспешно.Так что любая помощь будет приветствоваться!

Заранее большое спасибо!

1 Ответ

0 голосов
/ 14 октября 2018
    url: "prueba.js",
    dataType: 'json'

Вы запрашиваете файл JavaScript, но говорите jQuery проанализировать его как JSON.

Это первая строка этого файла JavaScript:

var admin = require(firebase-admin');

… что первый символ в нем - это v, о котором сообщается как о неожиданном токене.JSON не может начинаться с v, но, как уже упоминалось, у вас есть не JSON.

Это также не клиентский JavaScript, похоже, он предназначен для работы на стороне сервера.запустите на Node.js, который, как вы сказали, пытались использовать.

По какой-то причине вы вообще не запускаете его с использованием Node.js, а отправляете исходный код в веб-браузер.

Вы можете написать свою серверную программу в виде веб-службы (для этого популярна express library ), а затем запустить ее с Node.js.Затем вы должны установить url в качестве URL-адреса конечной точки, которую вы создаете с этим.

...