2017-08-03 10 views
0

質問:私の電子アプリには3Dモデルが組み込まれていますが、それについてはどうすればよいでしょうか?内部にファイルを保存する電子

私は現在、dist/models/foot.babylonに格納しています。アプリケーションを開いたときにファイルを読み込みたいのですが、fetch('/models/foot.babylon')を使ってみましたが、うまくいきませんでした。

私のフォルダ構造。

├──.babelrc 
├──.eslintrc 
├──.flowconfig 
├──.gitignore 
├──LICENSE 
├──README.md 
├──dist 
│ ├──bundle.css 
│ ├──bundle.js 
│ ├──index.html 
│ └──models 
│  ├──foot.babylon 
├──main.js 
├──package-lock.json 
├──package.json 
├──src 
│ ├──actions 
│ │ ├──files.js 
│ │ ├──index.js 
│ │ └──types.js 
│ ├──components 
│ ├──containers 
│ │ ├──Analyser 
│ │ ├──App 
│ │ ├──Header 
│ │ └──LiveData 
│ ├──engines 
│ │ ├──RenderEngine.js 
│ │ └──Scene.js 
│ ├──helpers 
│ ├──index.js 
│ ├──menu.js 
│ ├──reducers 
│ ├──routes.js 
│ └──store 
│  └──index.js 
├──template.ejs 
├──tools 
├──webpack.build.config.js 
├──webpack.dev.config.js 
└──yarn.lock 

は、私はおそらく私の.jsファイルのいずれかにそれを文字列としてインポートしますが、ファイルサイズは、少なくとも10メガバイトので、束ねる遅くなる可能性があります。

答えて

1

fsベストセラーにするには、fsが非同期であるために資産が読み込まれるときにスプラッシュ画面を作成することができます。

fs.readFile(__dirname + "/models/foot.babylon", (err, data) => { 
    if (err) { 
     console.error(err); 
    } else { 
     console.log(data); 
     // Process file data 
     // Remove splash screen and show app 
    } 
}); 
+0

アプリケーションがバンドルされている場合、ファイルはどこに保存されますか? – August

+0

アプリをビルドするときに 'models'ディレクトリをあなたのアプリにバンドルする必要があります。私の例のように、あなたがそれらを読むことができる場所について質問しているなら、['__dirname'](https://nodejs.org/docs/latest/api/globals.html)を使うことができます。これは場所を返しますあなたの現在のファイルの。 – y0hami

関連する問題