Closed1

React Nativeでes-toolkitを使いたい

kazutoyo@TellerNovelkazutoyo@TellerNovel

React Nativeでes-toolkitを利用すると、モジュールの解決ができずにエラーが発生してしまう。

 (NOBRIDGE) ERROR  Warning: TypeError: 0, _esToolkit.flatten is not a function (it is undefined)

https://github.com/toss/es-toolkit/issues/471

修正方法

metro.config.jsでモジュールのパスを指定することで、ビルド時に解決されるようになった

const { getDefaultConfig } = require('@expo/metro-config')
const path = require('path')

/** @type {import('expo/metro-config').MetroConfig} */
const config = getDefaultConfig(__dirname)

config.resolver.resolveRequest = (context, moduleName, platform) => {
    if (moduleName.startsWith('es-toolkit')) {
        const esToolkitPath = path.resolve(__dirname, 'node_modules/es-toolkit/dist/index.js')
        return {
        filePath: esToolkitPath,
        type: 'sourceFile',
        }
    }
    return context.resolveRequest(context, moduleName, platform)
}
  

module.exports = config
このスクラップは2025/01/17にクローズされました