添加 selectize.js 到 patternlab.io 实现
Adding selectize.js to patternlab.io implementation
我有一个 patternlab 实现 (edition-node-gulp)。我正在尝试向其中添加 selectize.js (https://github.com/selectize/selectize.js)。当我将指示的 jquery 函数添加到 foot.mustache 文件并查看结果时,控制台指示 reference error: can't find variable $
(即不识别 jquery)。当我将 jquery.min.js 添加到我的 selectize.js 脚本标签上方的 head.mustache 时,模式实验室的某些功能停止工作,其中一些开始工作,并且我开始收到不同的错误消息(即它现在识别 jquery)。 TypeError: $('#select-beast').selectize is not a function.
这里是head.mustache:
<!DOCTYPE html>
<html class="{{ htmlClass }}">
<head>
<title>{{ title }}</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width" />
<link rel="stylesheet" href="../../css/style.css?{{ cacheBuster }}" media="all" />
<link rel="stylesheet" href="../../css/pattern-scaffolding.css?{{ cacheBuster }}" media="all" />
<!-- Begin Pattern Lab (Required for Pattern Lab to run properly) -->
{{{ patternLabHead }}}
<!-- End Pattern Lab -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js">
<script src="../js/selectize.js"></script>
</head>
<body class="{{ bodyClass }} prg">
这里是 foot.mustache:
<!--DO NOT REMOVE-->
{{{ patternLabFoot }}}
<!--selectize -->
<script type="text/javascript" src="selectize.js"></script>
<link rel="stylesheet" type="text/css" href="selectize.css" />
<script>
$(function() {
$('select').selectize(options);
});
</script>
<!-- end selectize -->
</body>
</html>
这里是模式实验室节点的维护者。
在我看来,你的问题在于你的道路。
<script src="../js/selectize.js"></script>
改为
<script src="../../js/selectize.js"></script>
由于 Pattern Lab 输出模式的方式,基础 public/
目录总是向上两层。您会注意到该头部模式中的其他文件也上升了两个级别。
public/
- 模式/
- pattern-name/file
- js/
我想通过 CDN 包含 JS 或 CSS 库会更好,
在这里你可以找到 selectize.js CDN (https://cdnjs.com/libraries/selectize.js/)
示例:
<script src="https://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.12.4/js/standalone/selectize.min.js"></script>
我有一个 patternlab 实现 (edition-node-gulp)。我正在尝试向其中添加 selectize.js (https://github.com/selectize/selectize.js)。当我将指示的 jquery 函数添加到 foot.mustache 文件并查看结果时,控制台指示 reference error: can't find variable $
(即不识别 jquery)。当我将 jquery.min.js 添加到我的 selectize.js 脚本标签上方的 head.mustache 时,模式实验室的某些功能停止工作,其中一些开始工作,并且我开始收到不同的错误消息(即它现在识别 jquery)。 TypeError: $('#select-beast').selectize is not a function.
这里是head.mustache:
<!DOCTYPE html>
<html class="{{ htmlClass }}">
<head>
<title>{{ title }}</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width" />
<link rel="stylesheet" href="../../css/style.css?{{ cacheBuster }}" media="all" />
<link rel="stylesheet" href="../../css/pattern-scaffolding.css?{{ cacheBuster }}" media="all" />
<!-- Begin Pattern Lab (Required for Pattern Lab to run properly) -->
{{{ patternLabHead }}}
<!-- End Pattern Lab -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js">
<script src="../js/selectize.js"></script>
</head>
<body class="{{ bodyClass }} prg">
这里是 foot.mustache:
<!--DO NOT REMOVE-->
{{{ patternLabFoot }}}
<!--selectize -->
<script type="text/javascript" src="selectize.js"></script>
<link rel="stylesheet" type="text/css" href="selectize.css" />
<script>
$(function() {
$('select').selectize(options);
});
</script>
<!-- end selectize -->
</body>
</html>
这里是模式实验室节点的维护者。
在我看来,你的问题在于你的道路。
<script src="../js/selectize.js"></script>
改为
<script src="../../js/selectize.js"></script>
由于 Pattern Lab 输出模式的方式,基础 public/
目录总是向上两层。您会注意到该头部模式中的其他文件也上升了两个级别。
public/
- 模式/
- pattern-name/file
- js/
我想通过 CDN 包含 JS 或 CSS 库会更好, 在这里你可以找到 selectize.js CDN (https://cdnjs.com/libraries/selectize.js/)
示例:
<script src="https://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.12.4/js/standalone/selectize.min.js"></script>