Search code examples
nativescript

'fileSystemModule' was not found in '@nativescript/core'


Trying to write to a local file in Android.

Tried import {fileSystemModule} from "@nativescript/core"; but get error 'fileSystemModule' was not found in '@nativescript/core'.

Have also tried import {fileSystemModule} from "@nativescript/core/file-system" but it doesn't exist. I'm using plain Javascript.

Nativescript 8.0.2


Solution

  • The import paths are updated in the recent versions of NativeScript. You can access these directly now without having to go through fileSystemModule. See code below:

    import { knownFolders, File, Folder } from '@nativescript/core';
    

    To write to a local file using the latest NativeScript would look like this:

    writeToFile(): void {
      const folder = knownFolders.documents().getFolder(FOLDER_NAME);
      const file = folder.getFile(FILE_NAME.txt);
      file.writeText(SOME_STRING_TO_WRITE_TO_FILE);
    }
    

    To write to an accessible location in Android, you can use the following:

    writeToFile(): void {
        const folderPath = path.join(android.os.Environment.getExternalStorageDirectory().getAbsolutePath().toString())
        const folder = Folder.fromPath(folderPath);
        const file = folder.getFile(FILE_NAME.txt);
        file.writeText(SOME_STRING_TO_WRITE_TO_FILE);
    }