This library allows you to include resources of any type in your javascript source folders and load them without having to do anything special. It supports iOS and Android, including Android release mode.
Getting started$ yarn add react-native-local-resource
or
$ npm install react-native-local-resource --save
Native installation is required to support Android release mode.
$ react-native link react-native-local-resource
android/app/src/main/java/[...]/MainActivity.java
import com.igorbelyayev.rnlocalresource.RNLocalResourcePackage;
to the imports at the top of the filenew RNLocalResourcePackage()
to the list returned by the getPackages()
methodandroid/settings.gradle
:
include ':react-native-local-resource'
project(':react-native-local-resource').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-local-resource/android')
android/app/build.gradle
:
compile project(':react-native-local-resource')
Not required.
Usage Specify file extensionsSpecifying which file extensions you want to support is slightly different depending on which version of React Native your project is using.
React Native versions >= 0.59You will need a metro.config.js file in order to use this library. You should already probably have this file in your root project directory, but if you don't, create it.
Then, inside a module.exports
object, create a key called resolver
with another object with a key called assetExts
. The value of assetExts
should be an array of the resource file extensions you want to support.
For example, if you want to support md
and txt
files, your metro.config.js
would like like this:
React Native versions >= 0.57 and < 0.59module.exports = {
    resolver: {
        assetExts: ["md", "txt"]
    }
}
You will need a rn-cli.config.js file in order to use this library. Check your root project directory to see if you already have this file and if you don't, create it.
Then, inside a module.exports
object, create a key called resolver
with another object with a key called assetExts
. The value of assetExts
should be an array of the resource file extensions you want to support.
For example, if you want to support md
and txt
files, your rn-cli.config.js
would like like this:
React Native versions < 0.57module.exports = {
    resolver: {
        assetExts: ["md", "txt"]
    }
}
You will need a rn-cli.config.js file in order to use this library. Check your root project directory to see if you already have this file and if you don't, create it.
Then, inside a module.exports
object, create a function called getAssetExts
which returns an array of the resource file extensions you want to support.
For example, if you want to support md
and txt
files, your rn-cli.config.js
would like like this:
Calling the librarymodule.exports = {
    getAssetExts() {
        return ["md", "txt"]
    }
}
The library exposes a single async
function which accepts the source of the resource as the argument and returns the string content of the resource.
Example usage:
Demo Projectimport loadLocalResource from 'react-native-local-resource'
import myResource from './my_resource.txt'
Â
function example() {
    loadLocalResource(myResource).then((myResourceContent) => {
            console.log("myResource was loaded: " + myResourceContent)
        }
    )
}
This repo contains a demo project in the demo_project
folder.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4