javascript - 如何向 requirejs r.js 优化器添加仅在构建期间运行的插件?

标签 javascript build module requirejs optimization

我正在尝试编写一个自定义脚本/插件,将其包含在 requireJS r.js 优化器中(用于指纹识别静态文件和用于捆绑 JSON 资源的脚本/插件)。

我还没弄清楚如何在构建过程中触发我的自定义优化器。我可以编写脚本,但是如何在优化期间触发 bundle-build.js 模块。

感谢您的提示!

编辑:
我知道我可以使用“onBuildRead/Write”,但这不是添加优化器插件的地方。类似于 require-css更接近,但是一个文件前缀,它触发插件,该插件有一个指定在构建期间使用的 pluginBuilder 。不完全是我要找的。

最佳答案

优化器应拾取指定为依赖项的所有文件。如果您需要包含额外的内容,则可以使用 onBuildRead 或 onBuildWrite 回调添加额外的逻辑,您可以在其中添加/删除额外的内容:

({
    name: 'main',
    baseUrl: '../',
    // optimize: 'none',
    optimize: 'uglify2',
    exclude: ['jquery'],
    mainConfigFile: '../main.js',
    out: '../main.min.js',
    // A function that if defined will be called for every file read in the
    // build that is done to trace JS dependencies.
    // Remove references to console.log(...)
    onBuildRead: function (moduleName, path, contents) {
        return contents;
        // return contents.replace(/console.log(.*);/g, '');
    },
    onBuildWrite: function (moduleName, path, contents) {
        // Add extra stufff;
        return contents;
    }
})

关于javascript - 如何向 requirejs r.js 优化器添加仅在构建期间运行的插件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16497909/

相关文章:

caching - GitLab CI 中的 ccache 没有命中

python - 检查模块是否存在,如果不安装它

module - ZendDeveloperTools 模块在 ZF2 beta5 中不显示工具栏

javascript - 无法使用 yield 评估 js 代码

javascript - setTimeout 在 Chrome 中不起作用

c++ - netbeans IDE、测试和调试测试中的 c++ 项目中构建/清理和构建之间的区别

ios - 未找到模块 'path_provider'

javascript - 'Form' 未定义 react/jsx-no-undef

javascript - 如何将事件从父级传递给子级以与功能组件发生 react ?

php - Centos 6.9 和 Phalcon 2.0.13