部署laravel+;vuejs到共享主机
我在将我的laravel+vuejs应用程序部署到共享主机帐户时遇到问题,我知道其他有效的方法,如cloudways,但我只想测试一下我的站点 我尝试过一些免费托管,但总是错误的,我是否需要通过ftp上传我的所有节点_模块,以便vue组件工作?它很大,需要很多时间 我查阅了很多关于这方面的教程,但没有一个将带有vuejs的laravel部署到服务器上,对此的任何指导都将不胜感激部署laravel+;vuejs到共享主机,laravel,vuejs2,hosting,shared-hosting,Laravel,Vuejs2,Hosting,Shared Hosting,我在将我的laravel+vuejs应用程序部署到共享主机帐户时遇到问题,我知道其他有效的方法,如cloudways,但我只想测试一下我的站点 我尝试过一些免费托管,但总是错误的,我是否需要通过ftp上传我的所有节点_模块,以便vue组件工作?它很大,需要很多时间 我查阅了很多关于这方面的教程,但没有一个将带有vuejs的laravel部署到服务器上,对此的任何指导都将不胜感激 进入laravel vue项目,构建应用程序的生产版本 确保隐藏的文件可见,然后压缩除节点模块外的所有内容 转到你的c
public\u html
)公用
文件夹中除.htaccess
之外的内容移动到您刚刚创建的新文件夹的根目录中.htaccess
文件,并添加以下内容:
选项-多视图
重新启动发动机
#如果不是文件夹,则重定向尾部斜杠。。。
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)/$/$1[L,R=301]
#处理前控制器。。。
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}-F
重写规则^index.php[L]
#句柄授权头
RewriteCond%{HTTP:Authorization}。
重写规则。*-[E=HTTP\U授权:%{HTTP:AUTHORIZATION}]
到require _DIR _./../vendor/autoload.php'
需要_DIR__.'/vendor/autoload.php'代码>
require_once uuu DIR_uu.'/../bootstrap/app.php'代码>到
require_once uuu DIR_uuu.'/bootstrap/app.php'代码>
访问subdomain.your-domain.your-tld,应用程序应该可以运行。只需在根目录(
public\u html
)或任何子目录(如果使用subdomain)中创建一个新的.htaccess
文件并粘贴以下行即可解决问题
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
</IfModule>
重新启动发动机
重写规则^$public/[L]
重写规则(.*)public/$1[L]
您应该构建vuejs应用程序,通常使用命令npm run build。这将在vuejs应用程序文件夹中创建一个文件夹dist,其中包含应用程序投入生产所需的所有文件。将dist文件夹的内容复制到laravel应用程序的公用目录中,每个请求都应提供index.html,该index.html引用了vuejs应用程序。生产中不需要整个vuejs应用程序文件夹。非常感谢!因此,我不必担心节点_模块,只需构建并上传到服务器,您需要构建Laravel(composer)和Vue(webpack mix),以便部署到生产环境中。在composer.json中有类似的东西--然后运行composer-app:package
构建dist.tar.gz进行上传。在共享主机上提取此文件并上载您的.env
文件。或者你可以使用类似这样的东西:谢谢你,我会给它一个trialI去问@Noogen,运行composer应用程序:软件包只会构建laravel对吗?然后,如果按照rob!的回答,我该如何处理vue构建?混合清单不存在。我在willower发现了这个错误
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
</IfModule>