1

我有一个 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 添加到 head.mustache 时,在我的 selectize.js 脚本标记上方,模式实验室的一些功能停止工作,其中一些开始工作,并且我开始收到不同的错误消息(即它现在可以识别 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>
4

2 回答 2

0

我想通过 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>
于 2018-05-07T16:03:51.197 回答
0

模式实验室节点的维护者在这里。

在我看来,你的问题是你的路径。

<script src="../js/selectize.js"></script>

将其更改为

<script src="../../js/selectize.js"></script>

因为 Pattern Lab 输出模式的方式,基本public/目录总是向上两级。您会注意到该头部模式中的其他文件也上升了两个级别。

在此处输入图像描述

上市/

  • 图案/
    • 模式名称/文件
  • js/
于 2018-02-16T16:54:54.867 回答