gpt4 book ai didi

laravel - 来自外部文件的 Pug mixin 不起作用

转载 作者:行者123 更新时间:2023-12-01 01:54:40 26 4
gpt4 key购买 nike

我正在与 Pug 合作,我想创建一些 mixin 来在整个项目中制作一些可重用的组件。我想创建一些文件只是为了使 mixin 分离和分类。当我想将带有 mixin 的文件包含到我的主文件中时,就会出现问题。例如:

body
block content
include ./components/mixins/_mixins.pug
+user_avatar('', '#', 'Daniel')

这不起作用(当我想从单独的文件中包含 mixin 时)。我收到此错误: jade_mixins.user_avatar is not a function
但是当我在文件中包含 mixin 时,它可以工作:
body
block content
mixin user_avatar(avatar_url, profile_url, name)
.user(class='4u 6u(small) 12u(xsmall)')
a(href=profile_url)
.user-avatar-thumbnail.is-active(style="background-image: url('" + avatar_url + "')")
if name
span.user-name=name
+user_avatar('', '#', 'Daniel')

任何线索如何解决它?是的,路径是正确的。要编译 pug,我使用 laravel-elixir-jade laravel Elixir 的包。

最佳答案

我试图重现您的问题,但在我的机器上,它似乎工作得很好。我在下面列出了我为此所做的设置,也许您可​​以找到与此不同的点。

我的目录结构:

|- html/
|--- template.html (generated after running gulp)
|- node_modules/
|- views/
|--- mixins/
|----- util.pug
|--- template.pug
|- gulpfile.js
|- package.json

我的 package.json :
{
"name": "test",
"version": "1.0.0",
"main": "gulpfile.js",
"license": "MIT",
"dependencies": {
"gulp": "^3.9.1",
"laravel-elixir": "^6.0.0-15",
"laravel-elixir-pug": "^1.3.2",
"pug": "^2.0.0-beta6"
}
}

我的 template.pug :
body
block content
include mixins/util
+test()
util.pug文件:
mixin test()
p Test

gulpfile.js :
var elixir = require('laravel-elixir');

require('laravel-elixir-pug');

elixir(function (mix) {
mix
.pug({
blade: false,
src: './views',
search: '**/*.pug',
pugExtension: '.pug',
dest: './html'
});
});

运行后 gulp在根目录中,这会产生以下 template.html ,正如预期的那样:
<body>
<p>Test</p>
</body>

关于laravel - 来自外部文件的 Pug mixin 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41509548/

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