我剛剛創建了jQuery的自定義構建,並且我減少了庫以僅包含我需要的部分。我通過遵循GitHub上託管的jQuery repo中記錄的指示來做到這一點。它基本上使用node.js,npm,git和grunt,並且你可以在命令行中全部排除部分API,並進行構建。jQueryUI的自定義構建
現在我需要用jQueryUI做同樣的事情,但是我沒有在他們的文檔中看到這樣的說明。有誰知道這是否可以以同樣的方式完成?細化jQueryUI庫最簡單的方法是什麼,並根據我的需要專門定製它?
在此先感謝!
我剛剛創建了jQuery的自定義構建,並且我減少了庫以僅包含我需要的部分。我通過遵循GitHub上託管的jQuery repo中記錄的指示來做到這一點。它基本上使用node.js,npm,git和grunt,並且你可以在命令行中全部排除部分API,並進行構建。jQueryUI的自定義構建
現在我需要用jQueryUI做同樣的事情,但是我沒有在他們的文檔中看到這樣的說明。有誰知道這是否可以以同樣的方式完成?細化jQueryUI庫最簡單的方法是什麼,並根據我的需要專門定製它?
在此先感謝!
如果你想使用它與你的Grunt構建,只需添加一些PARAMS到你的配置。例如:
grunt custom:-ajax,-css,-dimensions,-effects,-offset
或修改必要的Gruntfile.js(https://github.com/jquery/jquery-ui/blob/master/Gruntfile.js)
去這個page,並選擇您喜歡的功能,然後下載它作爲一個自定義生成。
要從NPM包構建定製版本的jQuery UI,您必須使用requirejs
。你的grunt配置看起來是這樣的:
requirejs: {
jqueryui: {
options: {
expand: true,
baseUrl: '<%= nodeModules %>/jquery-ui/',
paths: {
jquery: './external/jquery/jquery',
external: './external/',
},
optimize: 'none',
findNestedDependencies: true,
skipModuleInsertion: true,
exclude: ['jquery'],
include:
grunt.file.expand(
{
cwd: path.resolve(appConfig.nodeModules + '/jquery-ui/'),
},
[
'ui/effect.js',
'ui/effects/*.js',
'list of files to include in your build',
]),
out: '<%= www %>/js/jquery-ui.js',
},
},
}
爲什麼要瘦身jQueryUI?你想要保留哪部分功能以及你使用哪個版本的jQuery? –
@MehranHatami:我想刪除任何未被使用的東西。試圖減少所有的開銷,甚至很小的開銷... – shmuli