spatie/laravel-blade-javascript

一个将变量导出到 JavaScript 的 Blade 指令

2.8.0 2024-02-29 08:19 UTC

README

Latest Version on Packagist Software License run-tests Check & fix styling Total Downloads

本包包含一个用于将值导出到 JavaScript 的 Blade 指令。

以下是一个使用示例

@javascript('key', 'value')

渲染的视图将输出

<script>window['key'] = 'value';</script>

因此,在您的浏览器中,您现在可以访问一个 key 变量

console.log(key); //outputs "value"

Spatie 是一家位于比利时安特卫普的网页设计公司。您可以在我们的网站上找到我们所有开源项目的概述 在这里

支持我们

我们在创建 一流的开源包 上投入了大量资源。您可以通过 购买我们的付费产品之一 来支持我们。

我们非常感谢您从您的家乡寄给我们明信片,并说明您正在使用我们的哪个包。您可以在我们的 联系我们页面 上找到我们的地址。我们将发布所有收到的明信片在我们的 虚拟明信片墙 上。

安装

您可以通过 composer 安装此包

composer require spatie/laravel-blade-javascript

该包将自动注册自己。

可选地,可以使用以下命令发布配置文件

php artisan vendor:publish --provider="Spatie\BladeJavaScript\BladeJavaScriptServiceProvider" --tag="config"

这是已发布配置文件的内容

return [

    /**
     * All passed values will be present in this JavaScript namespace. Set this to an empty string
     * to use the window object.
     */
    'namespace' => '',
];

如果您想自定义生成的 <script> 标签,您可以通过发布和覆盖使用的视图来实现。

php artisan vendor:publish --provider="Spatie\BladeJavaScript\BladeJavaScriptServiceProvider" --tag="views"

之后,您可以编辑已发布的视图 resources/views/vendor/bladeJavaScript/index.blade.php。这有助于添加 type 或 CSP nonce

用法

安装包后,您可以使用 @javascript Blade 指令。

@javascript('key', 'value')

渲染的视图将输出

<script>key = 'value';</script>

您还可以使用单个参数

@javascript(['key' => 'value'])

这将输出相同的内容

<script>key = 'value';</script>

如果在配置文件中将命名空间设置为例如 js,这将输出以下内容

<script>window['js'] = window['js'] || {};js['key'] = 'value';</script>

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

测试

composer test

贡献

有关详细信息,请参阅 CONTRIBUTING

安全

如果您发现有关安全的错误,请通过邮件 security@spatie.be 而不是使用问题跟踪器。

致谢

此存储库包含来自 laracasts/PHP-Vars-To-Js-Transformer 包的一些代码,由 Jeffrey Way 编写。

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件