带有Shopify Slate主题的jQuery

时间:2019-03-28 02:09:58

标签: webpack shopify es6-modules

我正在使用Shopify Slate 1.0.0-beta.15构建自定义Shopify主题。

我已将jQuery添加为节点模块,并将其包含在我的theme.js文件中:

import $ from 'jquery';

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

**更新**

slate.config.js文件:

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"
     })
    ]
  }
};

在此js文件中使用jQuery时,此方法工作正常,但是一旦我尝试在模板文件中使用jQuery,我会收到以下控制台错误:

Uncaught ReferenceError: $ is not defined

如何在模板页面中使用jQuery?我知道我可以将其包含在页面标题中,但如果可能的话,我希望坚持使用软件包管理。

1 个答案:

答案 0 :(得分:0)

您需要将jQuery公开给全局范围。

您可以在webpack配置中添加以下内容:

ids.toArray(new Id[0])