小编Dio*_*s K的帖子

Angular 通用和外部 API

在搜索了angular Universal很多天后,我发现缺乏有关ServerSideRendering实际工作方式的信息。
让我引导您解决我的疑虑,并帮助我澄清一些模糊点。

有很多指南会告诉您如何设置SSR需要注意哪些事项,例如不访问 DOM 或不使用 jquery。
它们都没有真正展示 angular Universal 在幕后的实际工作方式,尤其是当您访问外部 api 时。

我希望一个普通的 SSR 应用程序只在服务器上运行,创建一些 html,然后加载 html,直到客户端下载 javascript代码。
但是在使用外部 api 的情况下会发生什么?(这是一个非常常见的场景)。
我们的应用程序的服务器版本是否进行了真正的调用,从 api 获取真实数据,以使用 html 进行渲染?还是发生了其他事情?

同样在通过路由解析器调用的外部 api 的情况下。在这种情况下,SSR 可能吗?这意味着我们的应用程序必须以任何一种方式等待 api 响应。

server-side-rendering angular-universal angular

8
推荐指数
1
解决办法
4858
查看次数

Angular 通用仅适用于特定路线

我正在尝试实现angular Universal。但我想暂时将SSR限制在2条特定的路线上。原因是。
1)Universal 是一个仍在发展中的东西,它会导致一些意想不到的行为@angular/flex-layoutnested lazy loading

2)我不需要在所有页面上进行 SEO

所以我试过这样的事情

app.get('/campaign/*/*', (req, res) => {
   res.render(join(DIST_FOLDER, 'browser', 'index.html'), { req });
});

app.get('/', (req, res) => {
   res.render(join(DIST_FOLDER, 'browser', 'index.html'), { req });
});

app.get('*', (req, res) => {

});
Run Code Online (Sandbox Code Playgroud)

但是当我尝试在页面中导航时,它会 /campaign/new-channel 永远重新加载。
我期望的预期行为是页面通常不会呈现任何内容。

我想我必须做一些不同的事情,因为 node express 应该将路由的处理传递给 angular 。
知道如何实现这一点吗?server.ts
的其余代码从这里复制https://github.com/angular/universal-starter/blob/master/server.ts

PS有这篇关于stackoverflow Angular通用渲染的帖子仅适用于某些路线,但没有提供解决方案。所以我做了这个,因为我不知道我是否允许在答案中打开新线程

angular-universal angular

6
推荐指数
1
解决办法
2886
查看次数

Laravel - 按月模型过滤日期字段

我有一个方法可以接收一个"month"参数和另一个"year" 参数,你可以同时接收它们或只接收其中一个。

只接收月份的情况下,我想在一个名为“created_at”的字段中进行查询,只查找该字段日期的月份

目前我使用此代码,但是在执行类似操作时它没有正确执行

        else if ($request->has('month')) {
        $month = $request->input('month');
        $currentTimestamp = date_create_from_format('n', $month)->getTimestamp();
        $currentDate = date('m', $currentTimestamp);
        $filters['updated_at'] = $currentDate;
        unset($filters['month']);
    }

        $cars = Car::where(function($query) use($filters) {
        foreach ($filters as $column => $value) {
            if ($column === 'updated_at') {
                $query->where($column, 'LIKE', '%'.$value.'%');
                continue;
            }
            $query->where($column, 'LIKE', '%'.$value.'%');
        }
    })->orderBy('updated_at', 'desc')->get();
Run Code Online (Sandbox Code Playgroud)

php laravel php-5.5 laravel-5 php-7

5
推荐指数
2
解决办法
1万
查看次数

如何测试 laravel 连续工作?

我正在使用Laravel 5.6,应该为某些功能创建功能测试。在某些条件下,如果从第一个作业执行第二个作业,我如何测试两个作业的调度。

它看起来像这样:

class FirstJob implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;


    public function handle()
    {
        dispatch(new SecondJob());
    }
}
Run Code Online (Sandbox Code Playgroud)

顺序断言看不到第二个作业。

Queue::assertPushed(FirstJob::class);// 断言

Queue::assertPushed(SecondJob::class);// 未断言

testing queue jobs laravel

1
推荐指数
1
解决办法
3032
查看次数