首页 > 解决方案 > CLI 程序不做任何事情并忽略我的代码

问题描述

我正在使用 NodeJS 和 TypeScript 为一个项目制作一种编程语言,但它并没有做任何我想让它做的事情。这里绝对是所有的代码:

const fs = require("fs");
const cl = require("chalk");

var args = process.argv.slice(2);
if (args.length !== 1) {
    console.log("Error: Only argument should be filename");
} else {
    if (!args[0].endsWith(".qu")) {
        console.log("Error: File provided is not a Quantum file (*.qu)");
    } else {
        if (fs.existsSync(args[0])) {
            var contents = fs.readFileSync(args[0], 'utf8');
            contents = contents.replace(/\r/g, "").split("\n");
            var lineNumber = 0;
            for (var i = 0; i++; i < contents.length) {
                var line = contents[i];
                lineNumber++;
                if (line.startsWith("printLn")) {
                    line = line.replace("printLn", "");
                    if (line.startsWith("(\"")) {
                        line = line.replace("(\"", "");
                        if (line.endsWith("\")")) {
                            line = line.substring(line.length - 2, line.length);
                            console.log(line);
                        }
                    }
                } else if (line == "") {
                    continue;
                } else {
                    console.log(cl.red(`Syntax error at line ${lineNumber}`));
                    console.log(`\t» ${line}`);
                    var date = new Date();
                    var time = date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
                    console.log(cl.red(`File ${args[0]} at ${time}`));
                }
            }
        } else {
            console.log("Error: File '" + args[0] + "' does not exist!");
        }
    }
}

我有一个名为的文件file.qu,这是它的内容:

printLn("Hello!")
random text - should result in error

当我输入

node . file.qu

什么都没发生!我期待这个:

Hello!
Syntax error at line 2
    » random text - should result in error
File 'file.qu' at [current time]

请告诉我有什么问题!

标签: node.jstypescriptcommand-line-interface

解决方案


推荐阅读