SyntaxError:期望表达式,得到'<'当从节点js子目录提供angular 4 app时

时间:2018-04-21 18:49:28

标签: javascript node.js angular

我有一个角度4应用程序,我从节点js

服务

我的服务器结构如下

.env
server.js
/admin               //angular 4 app directory
    index.html
    ....other angular files and assets folder
/modules
/config
...other files and folders at root level

server.js是我的服务器文件,我正在尝试使用以下代码为angular 4应用程序提供服务。

app.get('/admin', (req, res) => {
      res.sendFile(path.join(__dirname, 'admin/index.html'));
});

所以我应该在http://localhost:3020/admin

获得角度应用

当我到达http://localhost:3020/admin时,我在控制台中收到以下错误

SyntaxError: expected expression, got '<'[Learn More]   
                                                    inline.a808723d583c934ba8bf.bundle.js:1

SyntaxError: expected expression, got '<'[Learn More]
                                                    polyfills.5d1d5b016f19755a7d41.bundle.js:1

SyntaxError: expected expression, got '<'[Learn More]
                                                    main.036acd83ead6248588f0.bundle.js:1

当我点击上面的任何一个链接时,它表示我的角度应用程序的href是

我注意到了,我使用https://angular.io/guide/deployment#!#fallback设置了它 使用以下命令ng build --prod --base-href =“/ admin /” 还有ng build --prod --base-href = / admin /。但我一直得到与上面相同的错误。

在我的index.html中,href设置为/ admin / i不断出现相同的错误。

我访问了以下链接,但没有找到任何有关我收到的错误消息。

https://github.com/angular/angular-cli/issues/4570

https://github.com/angular/angular-cli/issues/1080

1 个答案:

答案 0 :(得分:1)

尝试使用该命令将Angular输出构建到正确的目录:

ng build --prod -op=./path/to/admin/

要回答您的评论,我建议您使用不同目录中的角度来源以避免混乱,并且只在admin文件夹中使用内置输出。