2017-08-03 67 views
0

问题:我想我的电子应用程序有一个内置的3d模型,什么是最好的方式去了解它?电子存储文件内部

我目前存储在dist/models/foot.babylon.When应用程序打开时,我想加载一个文件。我尝试使用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文件之一,但文件大小至少为10MB,所以这将是捆绑缓慢。

回答

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