javascript - 如何在 Metro Bundler 的 metro.config.js 中附加扩展名?

标签 javascript react-native metro-bundler

我正在尝试捆绑 markdown 文件而不产生太多开销(即不将它们手动添加到 Xcode 和 Android Studio 中的 Assets 包,不使用第 3 方依赖项)。

我的想法是允许 require() 通过调整 metro.config.js 中的 metro bundler 设置来包含它们:

/**
 * Metro configuration for React Native
 * https://github.com/facebook/react-native
 *
 * @format
 */

module.exports = {
    transformer: {
        getTransformOptions: async () => ({
            transform: {
                experimentalImportSupport: false,
                inlineRequires: false,
            },
        }),
    },
    resolver: {
        assetExts: [`md`] // < include md
    }
};

可悲的是,metro bundler 将给定的默认值数组替换为此处设置的值。

我不想明确重复列出大约 20 多个文件扩展名的默认 Assets 扩展名列表,特别是因为我想坚持使用默认值。请参阅:https://github.com/facebook/metro/blob/master/packages/metro-config/src/defaults/defaults.js .

附加到数组也不起作用。

使用 RN 0.59.3。

有什么我想念的吗?

最佳答案

在此处找到有关如何包含默认值的答案:https://stackoverflow.com/a/55118654/844907 .

/**
 * Metro configuration for React Native
 * https://github.com/facebook/react-native
 *
 * @format
 */

// get defaults assetExts array
const defaultAssetExts = require("metro-config/src/defaults/defaults").assetExts;

module.exports = {
    transformer: {
        getTransformOptions: async () => ({
            transform: {
                experimentalImportSupport: false,
                inlineRequires: false,
            },
        }),
    },
    resolver: {
        assetExts: [
            ...defaultAssetExts, // <- array spreading defaults
            'md'
        ]
    }
};

关于javascript - 如何在 Metro Bundler 的 metro.config.js 中附加扩展名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55484740/

相关文章:

javascript - 我无法填充 backbone.js View

javascript - HTML Canvas 游戏 : 2D collision detection

react-native - 并排显示并包含 2 个图像

javascript - expo sdk 40 metro.config.js "Expected ' fromDir' 为 'string' ,得到 'undefined' “

javascript - Cordova Android 后退按钮事件不会触发

react-native - React Native 中 "react-native-vector-icons"的问题

javascript - 如何在 React Native 标题栏中高效渲染图像组件?

ios - React Native - Xcode 模拟器上的 .app 文件要求 Bundle URL

reactjs - React Native localhost 另一个调试器已经连接

javascript - 正则表达式在 Javascript 中转换 URL