我试图弄清楚如何设置Apache Tomcat服务器以提供具有深层链接的角度应用程序.例如:
当收到mysite.com/的请求时,静态服务器会定期返回index.html.但它拒绝mysite.com/heroes/42并返回404 - Not Found错误,除非它被配置为返回index.html.
我想在localhost/angular上提供角度应用程序,我试过以下:
1)构建角度应用:
ng build --prod --base-href .
Run Code Online (Sandbox Code Playgroud)
2)将build文件夹的内容(默认值:dist)复制到$ ApacheLocation/webapps/angular
3)在$ ApacheLocation/conf/Catalina/localhost/rewrite.config中添加RewriteRules
# If an existing asset or directory is requested go to it as it is
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
RewriteRule ^ - [L]
# If the requested resource doesn't exist, use index.html
RewriteRule ^\/angular\/.*$ /angular/index.html
Run Code Online (Sandbox Code Playgroud)
4)在主机标签下方添加阀门
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.rewrite.RewriteValve"/>
Run Code Online (Sandbox Code Playgroud)
5)启动Tomcat服务器并转到localhost/angular会给我:
未捕获的SyntaxError:意外的令牌<用于所有.js包(例如main.bundle.js)
如果我不包含重写规则,tomcat将按预期提供localhost/angular,但会在深层链接上提供404.
我的设置配置:
正如您在此示例中看到的,当您更改选项卡时,动画上会出现垂直滚动条。
<md-tab-group>
<md-tab label="Tab 1">
<div style="height: 2000px">Content 1</div>
</md-tab>
<md-tab label="Tab 2">
<div style="height: 500px">Content 2</div>
<div>Content 2</div>
</md-tab>
</md-tab-group>
Run Code Online (Sandbox Code Playgroud)
是否可以删除该滚动条(仅在选项卡转换时)?