在 MooKwai 主题中采用 webpack.dll 技术打包了多个 vendors 文件,这里里面包含了 MooKwai 使用的一些第三方 JS 库。
核心库
gsap
https://www.npmjs.com/package/gsap
除 gsap 核心文件外,还包含以下插件
- gsap/ScrollTrigger
- gsap/ScrollSmoother
- gsap/InertiaPlugin
- gsap/Observer
- gsap/TextPlugin
- gsap/SplitText
lottie-web
https://www.npmjs.com/package/lottie-web
nanoid
https://www.npmjs.com/package/nanoid
lenis
Three.JS
在 MooKwai 的交互中并未集成 three.js 功能,该库仅作自定义代码打包使用。
Barba.JS
在 MooKwai 的交互中并未集成 barba.js 功能,该库仅作自定义代码打包使用。
引用 vendors
要在你的 JS 中引用这些库,可通过 webpack 引用 MooKwai 内置的 vendors,文件路径为 mookwai/vendors/core-manifest.json。
// 在webpack配置中加入以下配置
const Webpack = require( 'webpack' );
const { resolve } = require( 'path' );
module.exports = {
...其他配置
plugins: [
new Webpack.DllReferencePlugin( {
manifest: resolve(
__dirname,
'../mookwai/vendors/core-manifest.json'
),
} ),
// 引用 three.js 库
new Webpack.DllReferencePlugin( {
manifest: resolve(
__dirname,
'../mookwai/vendors/three-manifest.json'
),
} ),
// 引用 barba.js 库
new Webpack.DllReferencePlugin( {
manifest: resolve(
__dirname,
'../mookwai/vendors/barba-manifest.json'
),
} ),
],
};