我有点被困在这里。我在客户端使用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。我无法解决这个问题。有人能帮我吗 ?