Angular + Node + Express:使用sendFile方法的意外标记

时间:2017-09-13 15:39:15

标签: node.js angular express auth0 sendfile

我有点被困在这里。我在客户端使用Angular 4编写webapp,在服务器端使用Node / Express / Mongo编写REST API,并使用Auth0 API进行身份验证。

在服务器端,我提供静态文件和Angular的所有路由:

const distDir = __dirname + "/dist/";
app.use(express.static(distDir));

app.get('/*', function(req, res) {
    res.sendFile(path.join(__dirname + '/dist/index.html'));
});

如果没有为所有Angular应用程序提供服务的app.get方法,我会收到404错误(例如,无法进行GET /回调)。

问题是sendFile发送一个html文件,无论调用是什么。在我的应用程序中,第一次调用是针对js文件的,如“网络”选项卡(auth0.min.js)中所示。所以我收到了这个错误:

ERROR SyntaxError: Unexpected token < in JSON at position 0
    at JSON.parse (<anonymous>)
    at e.CPp0.t.json (vendor.b69a8a4fa217eba4fba0.bundle.js:1)
    at e.project (main.0e8acae237e497f792ab.bundle.js:1)
    at e._next (vendor.b69a8a4fa217eba4fba0.bundle.js:1)
    at e.T14+.e.next (vendor.b69a8a4fa217eba4fba0.bundle.js:1)
    at XMLHttpRequest.s (vendor.b69a8a4fa217eba4fba0.bundle.js:1)
    at e.invokeTask (polyfills.043084ca495430fc14f3.bundle.js:1)
    at Object.onInvokeTask (vendor.b69a8a4fa217eba4fba0.bundle.js:1)
    at e.invokeTask (polyfills.043084ca495430fc14f3.bundle.js:1)
    at r.runTask (polyfills.043084ca495430fc14f3.bundle.js:1)

我想验证需要解析一些json文件,但sendFile方法发送HTML。我无法解决这个问题。有人能帮我吗 ?

0 个答案:

没有答案