【发布时间】:2019-03-19 04:25:56
【问题描述】:
我在应用引擎灵活的环境中用 php 开发代码。我正在尝试为 Firebase 设置 SDK Admin,网页版。
目前,我只是在为以下代码苦苦挣扎:
$.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,与 index.js、package.json 和 package-lock.json 一起位于根文件夹 ('web') 中
Prueba.html 和 prueba.js 位于路径 'web/asg/trm/admin'
'web' 文件夹中的 package.json 包含以下代码:
{
"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”文件夹的不同位置(也直接指向“firebase-admin”中包含的“package.json”) .
由于我在 Node.js 方面的短暂经验,过去两天我一直在努力维持生计,但没有成功。因此,任何善意的帮助都将受到欢迎!
提前非常感谢!
【问题讨论】:
-
分享你的json文件,可能你的json文件结构会出错。
-
您正试图以 JSON 格式读取 JavaScript 代码文件,但事实并非如此。您需要在 Node 中设置一个网络服务器才能运行该代码;它不会在浏览器中运行。它抱怨的
v是var的第一个字母。 -
^^ 邪猴说的。另外,另外,您有一个错字,缺少开头
':var admin = require(firebase-admin');这将完全阻止代码运行。
标签: javascript node.js firebase firebase-admin