尝试使用离子发球时的离子误差

时间:2017-07-13 22:00:20

标签: ionic-framework tostring

我已经从Git下载了一个存储库以对其进行修改但是,我似乎无法对其进行编译并使其运行。 我被提示安装节点模块,@ ionic / cli-pl ugin-gulp以及@ ionic / cli-plugin-ionic1,因为这是一个基于离子1的项目。

我一直收到这个错误:

C:\Users\User1\Desktop\belfastsalah-master\belfastsalah-master\node_modules\@ionic\cli-plugin-ionic1\dist\serve\live-reload.js:19
let contentStr = content.toString();
                        ^

TypeError: Cannot read property 'toString' of undefined
at Object.injectLiveReloadScript (C:\Users\User1\Desktop\belfastsalah-master\belfastsalah-master\node_modules\@ionic\cli-plugin-ionic1\dist\serve\live-reload.js:19:29)
at ReadFileContext.fs.readFile [as callback] (C:\Users\User1\Desktop\belfastsalah-master\belfastsalah-master\node_modules\@ionic\cli-plugin-ionic1\dist\serve\http-server.js:59:39)
at FSReqWrap.readFileAfterOpen [as oncomplete] (fs.js:366:13)

以下是JS文件中出现错误的代码,但是我还没有对此进行修改。这是我提示安装的内容,如上所述。

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const path = require("path");
const modules_1 = require("../lib/modules");
function createLiveReloadServer(options) {
    const tinylr = modules_1.load('tiny-lr');
    const liveReloadServer = tinylr();
    liveReloadServer.listen(options.livereloadPort, options.address);
    return (changedFiles) => {
        liveReloadServer.changed({
            body: {
                files: changedFiles.map(changedFile => ('/' + path.relative(options.wwwDir, changedFile)))
            }
        });
    };
}
exports.createLiveReloadServer = createLiveReloadServer;
function injectLiveReloadScript(content, host, port) {
    let contentStr = content.toString();
    const liveReloadScript = getLiveReloadScript(host, port);
    if (contentStr.indexOf('/livereload.js') > -1) {
        return content;
    }
    let match = contentStr.match(/<\/body>(?![\s\S]*<\/body>)/i);
    if (!match) {
        match = contentStr.match(/<\/html>(?![\s\S]*<\/html>)/i);
    }
    if (match) {
        contentStr = contentStr.replace(match[0], `${liveReloadScript}\n${match[0]}`);
    }
    else {
        contentStr += liveReloadScript;
    }
    return contentStr;
}
exports.injectLiveReloadScript = injectLiveReloadScript;
function getLiveReloadScript(host, port) {
    if (host === '0.0.0.0') {
        host = 'localhost';
    }
    const src = `//${host}:${port}/livereload.js?snipver=1`;
    return `  <!-- Ionic Dev Server: Injected LiveReload Script -->\n` + `  <script src="${src}" async="" defer=""></script>`;
}

非常感谢任何帮助。 感谢

1 个答案:

答案 0 :(得分:0)

你应该检查,在所有捆绑/生成完成后, www / index.html 存在

在使用index.html生成大量实验之后出现这个问题导致它消失了;)