首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在metro.config.js中为城域网附加扩展?

如何在metro.config.js中为城域网附加扩展?
EN

Stack Overflow用户
提问于 2019-04-02 23:08:22
回答 2查看 12.2K关注 0票数 8

我试图捆绑markdown文件,而不造成太多开销(即不使用第三方依赖关系,手动将它们添加到Xcode和Android中的资产包中)。

我的想法是允许require()通过调整metro.config.js中的城域绑定器设置来包含它们。

代码语言:javascript
复制
/**
 * 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用这里设置的内容替换了给定的默认值数组。

我不想显式地重复默认的资产扩展名列表,该列表列出了20+文件扩展名,特别是因为我想坚持默认设置,否则。见:https://github.com/facebook/metro/blob/master/packages/metro-config/src/defaults/defaults.js

附加到数组中也不起作用。

使用RN 0.59.3。

我遗漏了什么吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-03 06:29:39

在这里找到了如何包含默认值的答案:https://stackoverflow.com/a/55118654/844907

代码语言:javascript
复制
/**
 * 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'
        ]
    }
};
票数 17
EN

Stack Overflow用户

发布于 2019-08-24 07:47:14

其他方法是使用与反应-本机svg-变压器相同的语法。

  1. 使metro.config.js异步
  2. 调用getDefaultConfig
  3. 拔下assetExts键

示例

代码语言:javascript
复制
const { getDefaultConfig } = require('metro-config')

module.exports = (async () => {
    const {
        resolver: { assetExts },
    } = await getDefaultConfig()
    return {
        transformer: {
            getTransformOptions: async () => ({
                transform: {
                    experimentalImportSupport: false,
                    inlineRequires: false,
                },
            }),
        },
        resolver: {
            assetExts: [...assetExts, 'md'],
        },
    }
})()
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55484740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档