当我在本地运行应用程序时,一切都按预期工作,但是当我将其部署到 cloudno.de 时,它看起来像 this 。
我收到错误 Uncaught SyntaxError: Unexpected token <
这是因为 greeting.js
的内容是
<!doctype html>
<html lang="en">
.......
显然不是我的 javascript 文件,但实际上是我的 index.html 的内容
我的项目刚刚启动,它使用了 Backbone Boilerplate,完整的代码可以查看 here .
有谁知道这可能是什么原因吗?
我的server.js:
// Require libraries
var fs = require("fs");
var express = require("express");
var site = express.createServer();
// Determine which dist directory to use
var dir = process.argv.length > 2 && "./dist/" + process.argv[2];
// Use custom JS folder based off debug or release
dir && site.use("/assets/js", express.static(dir + "/js"));
dir && site.use("/assets/css", express.static(dir + "/css"));
// Serve static files
site.use("/app", express.static("./app"));
site.use("/assets", express.static("./assets"));
site.use("/dist", express.static("./dist"));
// Ensure all routes go home, client side app..
site.get("*", function(req, res) {
fs.createReadStream("./index.html").pipe(res);
});
site.listen(8000);
console.log("Server listening on http://localhost:8000");
最佳答案
您复制并粘贴了此代码吗?您得到了 var dir = process.argv
... 行吗?
该错误可能是由于 cloudno.de 在没有参数的情况下初始化的。您的应用正在 process.arv
上寻找它们
关于javascript - 当应用程序部署到云时,.js 文件将与 index.html 的内容一起提供,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9583213/