94318


##### 質問内容

提示コードの上部のインポート文ですが`fs`を読み込んで`fs.readFile()`関数を使いたいのですが  
色々なやり方を試しても以下のようなエラーが出るのですがこれなぜなのでしょうか？

[![画像の説明をここに入力](https://i.stack.imgur.com/IRCtA.png)](https://i.stack.imgur.com/IRCtA.png)

##### 知りたいこと

`fs.readFile()`が見つからない原因が知りたい。

##### 試したこと

1,提示コードのように色々実験  
2,`npm install fs` `npm install fs/promises`等をインストール  
3,`npm parcel index.html --open `コマンドを使って実行  
4,自動補完の候補にも表示されます。  
5,上の提示画像のように関数のリファレンスが読み込まれています。

##### 環境

OS: windows10  
ライブラリ：node.js,paracel  
言語: TypeScript

##### 参考サイト

ファイルを読み込む: <https://jsprimer.net/use-case/nodecli/read-file/>  
fs: <https://www.delftstack.com/ja/howto/typescript/read-text-file-in-
typescript/>  
実行環境構築に参考にしたサイト: <https://ics.media/entry/190325/>

##### コンソールログ

[code]

    fs [object Object]
    Main.ts:9 fs.promises [object Object]
    Main.ts:10 fsPromises [object Object]
    Main.ts:11 fs.promises.readFile undefined
    Main.ts:13 fsNode [object Object]
    Main.ts:16 Uncaught TypeError: _fs.readFile is not a function
        at test (Main.ts:16:8)
        at cSHfb../FrameWork (Main.ts:27:1)
        at newRequire (index.21089774.js:71:24)
        at index.21089774.js:122:5
        at index.21089774.js:145:3
    
[/code]

##### TypeScript.ts

[code]

    import { main } from "./FrameWork";
    import * as fs from "fs";
    import * as fsPromises from "fs.promises";
    import * as fsNode from "node:fs";
    function test() 
    {
    
        console.log("fs " + fs); 
        console.log("fs.promises " + fs.promises); 
        console.log("fsPromises " + fsPromises); 
        console.log("fs.promises.readFile " + fs.promises.readFile); 
    
        console.log("fsNode " + fsNode); 
    
    
        fs.readFile("asset/shader/BasicColor.vert",'utf-8',(err,data) => {console.log(data);} );
        fsNode.readFile("asset/shader/BasicColor.vert",'utf-8',(err,data) => {console.log(data);} );
    
    
    
        
    
    }
    
    
    
    test();
    
    
    
    
    main();
    
[/code]


CC BY-SA 4.0
2023-03-25T07:46:57.750
94312
2023-03-25T17:22:22.467
2023-03-25T12:54:54.230
55177
55177
question
typescript
Error: [ Uncaught TypeError: _fs.readFile is not a function ]の原因が知りたい


> npm parcel index.html --open コマンドを実行しています

`index.html` から `TypeScript.ts` を呼んでいるということですよね。  
基本的に、ブラウザでは `fs` は動きません。それはサーバ側で使うものです。

ですが、[percel には `fs.readFileSync()`
をエミュレートする機能がある](https://parceljs.org/features/node-emulation/#inlining-
fs.readfilesync)ようです。


CC BY-SA 4.0
2023-03-25T17:22:22.467
94318
2023-03-25T17:22:22.467
3475
94312
answer