spatie / laravel-blade-javascript
一个将变量导出到 JavaScript 的 Blade 指令
Requires
- php: ^8.0
- illuminate/contracts: ^8.0|^9.0|^10.0|^11.0
- illuminate/support: ^8.0|^9.0|^10.0|^11.0
Requires (Dev)
- orchestra/testbench: ^6.0|^7.0|^8.0|^9.0
- pestphp/pest: ^1.22|^2.28
- phpunit/phpunit: ^9.5|^10.5
README
本包包含一个用于将值导出到 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)。有关更多信息,请参阅 许可证文件。