1

因此,我观看了 David Mosher 关于 Angular JS 的 5 部分 youtube 视频(顺便说一下,视频很棒)。在第 2 部分 ( http://www.youtube.com/watch?v=hqAyiqUs93c ) 中,它有一个我几乎想要的实用 mysql 数据库用法。

我打算将 AngularJS 与 Laravel 4 一起使用,但我不知道稍后我要为网络托管上传哪些文件。我正在尝试在本地主机(localhost/public/)的根目录下的“/public”文件夹下运行 Web 应用程序,但 css 和 js 指向错误的目录(指向根目录:'/css/style.css' )。

我尝试过的另一种方法是将所有文件复制到根目录并将“公共”内的所有文件移动到根目录。然后我导航到“localhost/public/”。在脚本路径中一切正常,除了它似乎没有与数据库建立任何连接(laravel 或 angular 失败)。

是否有任何适当的方法可以实际使用(不使用php artisan serveor grunt runorlineman run 在服务器上)?我应该稍后上传哪些文件?

编辑:原因是我的虚拟主机不允许我安装 nginx 或使用 putty 远程运行代码,所以我需要手动方式来执行此操作。谢谢。

4

1 回答 1

4
  • 首先在您的本地主机中安装最新laravel版本。见文档
  • 假设您已完成composer install命令。
  • 然后将所有public文件夹内容移动到项目根目录。
  • 接下来改变line 21index.php

    require __DIR__.'/../bootstrap/autoload.php'; 
    

    require __DIR__.'/bootstrap/autoload.php'; 
    

    line 35内容

    $app = require_once __DIR__.'/../bootstrap/start.php';
    

    $app = require_once __DIR__.'/bootstrap/start.php';
    

    现在您可以在没有公用文件夹的情况下访问项目。

  • 将您的cssjs其他资产文件夹放在根目录中,例如http://localhost/laravel/css
  • 注意,laravel 刀片和 angular 也使用{{语法进行编译。所以你需要将 laravel 刀片的语法更改为{=and =}。否则会发生冲突。
  • 要执行此打开vendor/laravel/framework/src/Illuminate/View/Compilers/BladeCompiler.php文件并更改line 45为此

    protected $contentTags = array('{=', '=}');
    

    line 52为此

    protected $escapedTags = array('{={', '}=}');
    

    现在您可以使用{{角度和{=刀片。

  • 要链接您的资产,使用函数,请参阅此处HTMLBuilder的文档。
  • 现在在刀片中使用这些,

     {= HTML::style('css/style.css') =} // links localhost/project/css/style.css
    
     {= HTML::script('js/jquery.js') =}
    
  • 在 localhost 中使用migrationsdb seeds制作 db 的导出副本以用于在线托管

  • 完成项目后,将整个项目内容复制到在线服务器并更改数据库配置和导入数据库。

在线目录结构

您的文件托管将有一个公共目录,您将文件放在 Web 根目录中。

那可能是htdocs,或者public_html现在是您的项目公共根目录。现在目录结构将是,

-- app

-- bootstrap

-- css

-- images

-- js

-- vendor
于 2013-09-30T10:00:12.657 回答