通过使用Mac 自带apache 可以实现vue/react打包后文件本地直接运行测试,操作如下:
1.打开终端
2.查看httpd的版本信息,运行命令如下:
httpd -v
或者
apachectl -v
3.启动apache httpd服务:
sudo apachectl start
此时,打开浏览器地址栏输入 “http://localhost”,可以看到内容为“It works!”的页面。
4.打开httpd的配置文件,
sudo vi /etc/apache2/httpd.conf
5.查找关键字“ DocumentRoot”
可以看到httpd服务的默认根目录为 /Library/WebServer/Documents
6.进入Documents上级目录 /Library/WebServer
cd /Library/WebServer/
7.清空Documents
sudo rm -rf Documents
8.添加软链接:
sudo ln -s 打包后文件目录 Documents
9.在浏览器中输入 http://127.0.0.1 即可。
当刷新页面后会发现报错
此时需要修改下apache配置,修改配置文件/etc/apache2/httpd.conf,可以通过以下两种方法找到此文件:
1.通过命令行输入
open /etc/apache2
打开目录文件找到httpd.conf进行修改
2.
命令行中输入
sudo vi /etc/apache2/httpd.conf
可以在命令行中打开该文件然后按 i 键进入编辑模式,最后编辑完成后按 esc 然后输入 :wq 保存并退出编辑
修改配置文件/etc/apache2/httpd.conf内容有以下几点:
1.找到mod_rewrite.so,去掉前台的#
2.设置ServerName
3.将 /etc/apache2/httpd.conf 中所有AllowOverride None改为AllowOverride All
配置文件修改完成后,输入密码保存,然后进入项目目录,新建文件.htaccess ,需要确保每次打包都要打包此文件。可放在public目录下
.htaccess 内容如下:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>
然后运行命令:
sudo apachectl -k restart
重启apache就可以了。
参考链接:https://blog.csdn.net/u013771019/article/details/102736477