Atom / Electron动态HTML路径

时间:2016-03-22 14:09:14

标签: javascript file templates electron

我对Electron很新,所以这可能是一个愚蠢的问题,但是:我的应用程序使用多个窗口,所以我很自然地希望实现一个(非常)基本的模板引擎来避免重新创建页面'每页上的页眉和页脚。所以我这样做了:

function setWindowContent(template)
{
    FileSystem.readFile(path.resolve(__dirname, 'layout.html'), 'utf-8', function(error, layoutCode){
        if (!error) {
            FileSystem.readFile(path.resolve(__dirname, template+'.html'), 'utf-8', function(error, content){
                if (!error){
                    content = layoutCode.replace('{{main_content}}', content);

                    mainWindow.webContents.loadURL('data:text/html,' + content);
                }
            });
        }
    });
}

它有效,但由于某种原因,我不能包含任何css或js文件,它只是无法找到它们。 "要求"语句工作,虽然路径因为范围很长。所以这有效:

<script>window.$ = window.jQuery = require('./../../../../../../js/jquery-2.2.1.min.js');</script>

但这并不是:

<link href="./css/style.css" rel='stylesheet' type='text/css' />

以及:

<link href="./../../../../../../css/style.css" rel='stylesheet' type='text/css' />

任何提示? 另外,在阅读内容后,是否需要以某种方式关闭文件指针,还是自动完成?

app文件夹如下所示:

├── css/
│   └── style.css
├── js/
├── node_modules/
├── main.js
├── package.json
├── layout.html
├── index.html

我没有列出&#34; node_modules&#34;的内容。文件夹,因为它需要几页,因为它是通过npm install在本地安装的。

0 个答案:

没有答案