【问题标题】:what is wrong with this AngularJs code- in browser code editor- Nodejs这个 AngularJs 代码有什么问题-在浏览器代码编辑器中-Nodejs
【发布时间】:2017-01-16 01:40:20
【问题描述】:

您好,我正在尝试在浏览器代码编辑器中创建,以便从基础水平为高中生免费分享知识。经过长时间的搜索斗争,我得到了this 链接。我只是按照该链接中提供的指导进行了一些设置和更改。

var express = require('express');
var path = require('path');
var app = express();
var bodyParser = require('body-parser');
//app.use(bodyParser.urlencoded());

app.use(bodyParser.urlencoded({
  extended: true
}));


//compileX
var compiler = require('compilex');
var option = {stats : true};
compiler.init(option);

app.get('/' , function (req , res ) {

	res.sendfile( __dirname + "/index.html");

});


//app.post('/compilecode' , function (req , res ) {
app.post('/' , function (req , res ) {

    
	var code = req.body.code;	
	var input = req.body.input;
    var inputRadio = req.body.inputRadio;
    var lang = req.body.lang;
    if((lang === "C") || (lang === "C++"))
    {        
        if(inputRadio === "true")
        {    
        	var envData = { OS : "windows" , cmd : "g++"};	   	
        	compiler.compileCPPWithInput(envData , code ,input , function (data) {
        		if(data.error)
        		{
        			res.send(data.error);    		
        		}
        		else
        		{
        			res.send(data.output);
        		}
        	});
	   }
	   else
	   {
	   	
	   	var envData = { OS : "windows" , cmd : "g++"};	   
        	compiler.compileCPP(envData , code , function (data) {
        	if(data.error)
        	{
        		res.send(data.error);
        	}    	
        	else
        	{
        		res.send(data.output);
        	}
    
            });
	   }
    }
    if(lang === "Java")
    {
        if(inputRadio === "true")
        {
            var envData = { OS : "windows" };     
            console.log(code);
            compiler.compileJavaWithInput( envData , code , function(data){
                res.send(data);
            });
        }
        else
        {
            var envData = { OS : "windows" };     
            console.log(code);
            compiler.compileJavaWithInput( envData , code , input ,  function(data){
                res.send(data);
            });

        }

    }
    if( lang === "Python")
    {
        if(inputRadio === "true")
        {
            var envData = { OS : "windows"};
            compiler.compilePythonWithInput(envData , code , input , function(data){
                res.send(data);
            });            
        }
        else
        {
            var envData = { OS : "windows"};
            compiler.compilePython(envData , code , function(data){
                res.send(data);
            });
        }
    }
    if( lang === "CS")
    {
        if(inputRadio === "true")
        {
            var envData = { OS : "windows"};
            compiler.compileCSWithInput(envData , code , input , function(data){
                res.send(data);
            });            
        }
        else
        {
            var envData = { OS : "windows"};
            compiler.compileCS(envData , code , function(data){
                res.send(data);
            });
        }

    }
    if( lang === "VB")
    {
        if(inputRadio === "true")
        {
            var envData = { OS : "windows"};
            compiler.compileVBWithInput(envData , code , input , function(data){
                res.send(data);
            });            
        }
        else
        {
            var envData = { OS : "windows"};
            compiler.compileVB(envData , code , function(data){
                res.send(data);
            });
        }

    }

});

app.get('/fullStat' , function(req , res ){
    compiler.fullStat(function(data){
        res.send(data);
    });
});

app.listen(8080);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<html>
<head>
	<title>Compilex</title>
	<script src="https://cdnjs.cloudflare.com/ajax/libs/PreloadJS/0.6.0/preloadjs.min.js"></script>
</head>
<body>
<center>

<form id="myform" name="myform" method="post" action="/">
<h3>Your Code</h3>
<textarea rows="13" cols="100" id="code" name="code" ></textarea> 
<br/>
<div>
	<input type="submit" value="submit"  name="submit" />
</div>
<div>
	<br/>
Language : <select name="lang">
  <option value="C">C</option>
  <option value="C++">C++</option>
  <option value="Java">Java</option>  
  <option value="Python">Python</option> 
  <option value="CS">C#</option>  
  <option value="VB">VB</option>  
</select>
Compile With Input : 
<input type="radio" name="inputRadio" id="inputRadio" value="true"/>yes
<input type="radio" name="inputRadio" id="inputRadio" value="false"/>No
</div>
<h3>Output</h3>
<textarea rows="10" cols="100" id="input" name="input" ></textarea> 

<br />

</form>
</center>
</body>
</html>

要求: 1. 如何为 Python 编译输入(如何使用这个应用程序进行配置) 2. 如何在第二个文本区域显示输出。

(注意:花了很多时间在 codemirror、ace 编辑器示例和演示上,但作为这个平台的新手,不能有效地使用它)

非常感谢帮助

谢谢

【问题讨论】:

    标签: javascript python angularjs node.js code-editor


    【解决方案1】:

    实际上,您只有纯 HTML,其中没有任何使用 angular 的内容。

    单独添加脚本标签不会产生“角度代码”。 顺便说一句,标签确实放错了位置,并且它拥有一个古老的角度版本。现在你应该使用 1.5.8 版本。如果你想学习如何使用 Angular,你应该访问 tutorial 并阅读 docsstyle-guide

    如果您现在想从 Angular 开始,最好直接看看 angular 2

    【讨论】:

      【解决方案2】:

      移动<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 进入&lt;head&gt;。不确定这是您的问题,但这将是我书中调试过程的第一步。

      【讨论】:

      • 感谢您的回复。只是按照你说的改变了。尝试通过“node server.js”运行时遇到休闲问题。
      • F:\node examples\compilex-Demo1>node server.js compilex 的统计信息是 On express deprecated res.sendfile: Use res.sendFile instead server.js:19:6 *** function ( arg0, arg1, arg2) { "use strict" log.call(deprecate, message, site) return fn.apply(this, arguments) } INFO: 8e0t16l.py created INFO: 8e0t16l.py 成功执行! _____data { output: 'test\r\n[0x7FFE7C2830A0] 异常:使用 REX.w 没有意义(默认操作数大小为 64)\r\n[0x7FFE7C333DC0] 异常:uof REX.w 无意义(默认操作数大小为 64 )\r\n' }
      • 您介意发布您的 server.js 文件吗?但似乎您真正需要做的就是将“sendfile”中的“f”大写。所以基本上把这个:res.sendfile(__dirname + '/example.html');改成这个:res.sendFile(__dirname + '/example.html');,区别就在于方法名。如果您有钱可以花钱,我建议您购买 linter 或研究 webstorm。它有助于在这里和那里捕捉小错误
      猜你喜欢
      • 1970-01-01
      • 2014-04-20
      • 1970-01-01
      • 1970-01-01
      • 2018-05-10
      • 1970-01-01
      • 2017-12-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多