JQuery с Shopify Slate Theme - PullRequest
       18

JQuery с Shopify Slate Theme

0 голосов
/ 28 марта 2019

Я использую Shopify Slate 1.0.0-beta.15 для создания собственной темы Shopify.

Я добавил jQuery в качестве модуля узла и включаю его в свой файл theme.js:

import $ from 'jquery';

window.jQuery = $;
window.$ = $;

** ОБНОВЛЕНО **

slate.config.js file:

const path = require('path');
const webpack = require('webpack');

module.exports = {
  'cssVarLoader.liquidPath': ['src/snippets/css-variables.liquid'],
  'webpack.extend': {
    resolve: {
      alias: {
        jquery: path.resolve('./node_modules/jquery'),
        'lodash-es': path.resolve('./node_modules/lodash-es'),
      },
    },
    plugins: [
      new webpack.ProvidePlugin({
        $: 'jquery',
        jQuery: 'jquery',
        "window.jQuery": "jquery",
        "window.$": "jquery"
     })
    ]
  }
};

Это прекрасно работает при использовании jQuery в этом js-файле, но как только я пытаюсьиспользовать jQuery внутри файла шаблона Я получаю следующую ошибку консоли:

Uncaught ReferenceError: $ is not defined

Как я могу использовать jQuery на страницах шаблона?Я знаю, что мог бы включить это в заголовок своей страницы, но предпочел бы придерживаться управления пакетами, если это возможно.

1 Ответ

0 голосов
/ 29 марта 2019

Вам нужно будет выставить jQuery в глобальную область.

Вы можете добавить следующее в конфигурацию вашего веб-пакета:

module: {
  rules: [
    {
      test: require.resolve('jquery'),
      use: [
        {
          loader: 'expose-loader',
          options: 'jQuery'
        }
      ]
    }
  ]
},
...