gpt4 book ai didi

node.js - 使用 npm 和 CakePHP 3 - 文件位置

转载 作者:搜寻专家 更新时间:2023-10-31 22:51:04 25 4
gpt4 key购买 nike

如果您使用 npm要在 CakePHP 中安装一个包,目录结构将如下所示:

bin/
composer.json
composer.lock
config/
favicon.ico
.gitignore
.htaccess
index.php
logs/
node_modules/
.npmrc
package-lock.json
phpunit.xml.dist
plugins
README.md
src/
tests/
tmp/
vendor/
webroot/

所以我安装了一个像这样的 npm 包,它创建了 .npmrc:

npm install --save-dev @fortawesome/fontawesome-pro

这会将文件复制到 node_modules/

但在 Cake 中这是不可访问的,因为它需要在 webroot/

例如,如果您链​​接到 node_modules/@fortawesome/fontawesome-pro/css/all.css,您将收到 404,因为 node_modules/ 不可访问到 CakePHP 它在文件系统中的位置。

所以除了手动移动文件之外 - 每次使用 npm 时都非常乏味:

mv node_modules webroot/node_modules

人们在这种情况下使用什么策略?

Cake 版本是 3.7,但我认为在这种情况下这并不重要。

最佳答案

我个人使用 AssetCompress插件来处理这些事情。在文件 config/asset_compress.ini 中,您定义您的 Assets 及其位置,并控制您希望放置编译/压缩 Assets 的位置(在 webroot 内)。

按照插件安装说明将以下内容添加到 default/sample config/asset_compress.ini`:

...
[css]
paths[] = ROOT/node_modules/@fortawesome/fontawesome-pro/css/*
cachePath = WEBROOT/cache_css
...
[awesome.css]
files[] = all.css
filters[] = CssMinFilter
...

您的模板将像这样使用它:

<?= $this->AssetCompress->css('awesome.css') ?>

关于node.js - 使用 npm 和 CakePHP 3 - 文件位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57464202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com