mwstake/mediawiki-component-thirdpartyresources
Composer 安装命令:
composer require mwstake/mediawiki-component-thirdpartyresources
包简介
Provides ResourceLoader module definitions that allow for inclusion of third-party pre-compiled resources (JS/CSS)
README 文档
README
ThirdPartyResources for MediaWiki
Provides ResourceLoader module definitions that allow for inclusion of third-party pre-compiled resources (JS/CSS).
This code is meant to be used within the MediaWiki framework. Do not attempt to use it outside of MediaWiki.
Use in a MediaWiki extension
Add "mwstake/mediawiki-component-thirdpartyresources": "~1.0" to the require section of your composer.json file.
Explicit initialization is required. This can be archived by
- either adding
"callback": "mwsInitComponents"to yourextension.json/skin.json - or calling
mwsInitComponents();within you extensions/skins customcallbackmethod
See also mwstake/mediawiki-componentloader.
Optional: Setting up package.json
In MediaWiki extensions/skins, the package.json is usually just used for CI tasks, like eslint. Therefore one usually has only the "devDependecies" entry and the node_modules/ directory is excluded from source code management e.g. via .gitignore.
If npm is used to pull in actual dependenies, it is recommended to copy the "dist" file(s) into the resources/ (or modules/) directory of the extension/skin. This can easily be done by a scripts.postinstall entry.
Example package.json
"scripts": { "postinstall": "cp node_modules/some-package/dist/some-package.min.js resources/lib/" }, "dependencies": { "some-package": "^1.0.0" }
Setting up the ResourceLoader module
MediaWiki ResourceLoader may corrupt pre-packaged JS/CSS files, as it applies "minification". Also it may lack a proper module.exports statement, to make the third party code available to the consuming code.
To overcome such issues, use the "class" property of the "ResourceModule" definition like this:
"ResourceModules": { "ext.SomePackageComponent": { "class": "MWStake\\MediaWiki\\Component\\ThirdPartyResources\\ResourceLoader\\DistFiles", "packageFiles": [ "lib/some-package.min.js" ] } }, "ResourceFileModulePaths": { "localBasePath": "resources", "remoteExtPath": "MyExtension/resources" },
If a special module.exports is required, it can be specified in the "module.exports" property.
"ResourceModules": { "ext.VTreeView": { "class": "MWStake\\MediaWiki\\Component\\ThirdPartyResources\\ResourceLoader\\DistFiles", "module.exports": "SomePackageComponent", "packageFiles": [ "lib/some-package.min.js" ] } },
mwstake/mediawiki-component-thirdpartyresources 适用场景与选型建议
mwstake/mediawiki-component-thirdpartyresources 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 77.6k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2022 年 02 月 21 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 mwstake/mediawiki-component-thirdpartyresources 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 mwstake/mediawiki-component-thirdpartyresources 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 77.6k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 12
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: GPL-3.0-only
- 更新时间: 2022-02-21