jQuery Slim gegen jQuery tauschen

Kann jemand einen (konkreten) Tipp geben, wie ich die jquery.slim.js gegen die volle jQuery Library tauschen kann?

Ich benötige vor allem animate()

Wenn es dir nur um animate geht: http://youmightnotneedjquery.com/
Die library tauschen wird relativ schwierig - spätestens, wenn du noch andere Plugins im Shop hast.

Viele Grüße

Man kann die Webpack-Config von Shopware in einem Plugin anpassen. Standardmäßig ist das die Datei _/src/Resources/app/storefront/build/webpack.config.js . _Dort kann man dann das webpack-Plugin NormalModuleReplacementPlugin benutzen, um alle Vorkommen von slim durch die volle Version zu ersetzen.

Im folgenden ein Beispiel.

So oder so ähnlich:

const path = require('path');
const projectRootPath = process.env.PROJECT_ROOT
    ? path.resolve(process.env.PROJECT_ROOT)
    : path.resolve('../../../../../../../');

const shopwarePlatformPath = projectRootPath + '/vendor/shopware/platform/';
const nodeModulesPlatformPath = shopwarePlatformPath + '/src/Storefront/Resources/app/storefront/node_modules/';

const shopwarePath = projectRootPath + '/vendor/shopware/';
const nodeModulesPath = shopwarePath + '/storefront/Resources/app/storefront/node_modules/';

let webpack = null;
let fullPath = null;
try {
  require.resolve("webpack");
  webpack = require('webpack');
} catch (e) {
  try {
    require.resolve(nodeModulesPlatformPath + "/webpack");
    webpack = require(nodeModulesPlatformPath + '/webpack');
    fullPath = nodeModulesPlatformPath;
  } catch (e) {
    require.resolve(nodeModulesPath + "/webpack");
    webpack = require(nodeModulesPath + '/webpack');
    fullPath = nodeModulesPath;
  }
}

let webpackConfig = {
  plugins: [
    new webpack.NormalModuleReplacementPlugin(
      /jquery\.slim/,
      fullPath + 'jquery/dist/jquery'
    )
  ],
};

module.exports = function () { return webpackConfig };