Angular Development/Apache代替ng serve
我正试图找到一种在我的开发笔记本电脑上使用apache而不是“ng serve”的方法。 Apache与VirtualHost for Symfony、ExtJs完美结合。 我已经为我的角度测试和其他测试创建了一个特定的虚拟主机,但是我有一个白色页面Angular Development/Apache代替ng serve,angular,apache,virtualhost,Angular,Apache,Virtualhost,我正试图找到一种在我的开发笔记本电脑上使用apache而不是“ng serve”的方法。 Apache与VirtualHost for Symfony、ExtJs完美结合。 我已经为我的角度测试和其他测试创建了一个特定的虚拟主机,但是我有一个白色页面 <VirtualHost *:80> ServerAdmin webmaster@angulardemo.lan DocumentRoot "/Users/maquejp/Development/angular/demo/src" Se
<VirtualHost *:80>
ServerAdmin webmaster@angulardemo.lan
DocumentRoot "/Users/maquejp/Development/angular/demo/src"
ServerName angulardemo.lan
ServerAlias www.angulardemo.lan
ErrorLog "/usr/local/var/log/httpd/angulardemo.lan-error_log"
CustomLog "/usr/local/var/log/httpd/angulardemo.lan-access_log" common
<Directory "/Users/maquejp/Development/angular/demo/src">
Options Indexes FollowSymLinks
AllowOverride All
Order Allow,Deny
Allow from All
Require all granted
</Directory>
当然,我已经重新启动了apache(apachectl-k restart)
关于信息,我在OSX下
为避免错误响应:这不是部署在生产服务器上(ng构建没有帮助)
谢谢 我在远程Linux主机上使用
apache2
进行开发和部署。我的开发路径是~/DEV/ProjectName
。在我的package.json
文件中,我添加了以下内容:
"scripts": {
[snip],
"watcher": "ng build --base-href=/ProjectName/dist/ProjectName/ --watch",
[snip]
},
然后我开始构建过程纱线观察者
顺便说一句,这大部分是在角形文档中发现的
当对项目文件进行更改时,--watch
标志会导致生成过程重新运行--base href
构建URL以使用路径作为index.html文件的基础
然后我更新我的Apache配置(/etc/apache2/conf enabled/project dirs.conf
)如下所示(每个项目一个):
这还需要更新projects\architect\build\options\assest
小节中的angular.json
:
"assets": [
"src/assets/YourIcon.ico",
"src/assets",
"src/.htaccess"
]
这“应该”导致.htaccess
文件被放置在上面显示的构建目录中
我还没有弄明白的一点是如何在构建运行时使网页自动刷新。目前需要手动刷新。没有人知道☹️我认为您只能使用apache来服务构建的有角度的页面,通常是由ng dist
命令生成的dist文件夹?我正在尝试做完全相同的事情,由于缺乏相关信息,我想知道使用apache而不是单独的web服务器为Symfony PHP应用程序和Angular应用程序提供服务是否是个坏主意。不幸的是,这似乎是不可能的
alias /ProjectName /home/homeDir/DEV/ProjectName
<Directory "/home/homeDir/DEV/ProjectName">
options Indexes FollowSymlinks
Allow from all
Satisfy Any
</Directory>
<IfModule mod_rewrite.c>
RewriteEngine on
# Don't rewrite files or directories
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
# Rewrite everything else to index.html
# to allow html5 state links
RewriteRule ^ index.html [L]
</IfModule>
"assets": [
"src/assets/YourIcon.ico",
"src/assets",
"src/.htaccess"
]