【发布时间】:2014-11-02 14:20:29
【问题描述】:
我是一名 C# 程序员.. 或多或少.. 并且想使用 Cordova for Visual Studio 开始一个业余项目。由于这是一个 java-script/html/css 框架,我想用 C# 编写代码,编译成 java-script 并在 cordova 中使用这些脚本文件。
所以我发现 Script#.. 有一些有希望的示例(顺便说一下,这些示例不起作用) 我试图通过创建一个 HTML5 模块和一个带有静态构造函数的简单类来自己获取它,以获取一些应该在应用程序启动时执行的代码,并将 .js 文件复制到cordova项目脚本文件夹中(实际上是一个“CodeBehind”子文件夹)。
所以这里是 C# 文件:
using System;
using System.Collections.Generic;
using System.Html;
using jQueryApi;
namespace CodeBehind
{
public class TestClass
{
static TestClass()
{
jQueryObject display = jQuery.Select("#P_Display");
display.Text("World");
}
}
}
这是输出 java 脚本:
/*! CodeBehind.js 1.0.0.0
*
*/
"use strict";
define('CodeBehind', ['ss', 'jquery'], function(ss, $) {
var $global = this;
// CodeBehind.TestClass
function TestClass() {
}
var TestClass$ = {
};
var $exports = ss.module('CodeBehind', null,
{
TestClass: [ TestClass, TestClass$, null ]
});
(function() {
var display = $('#P_Display');
display.text('World');
})();
return $exports;
});
然后在 index.htm 文件中,我添加的 cordova 应用程序的“根页面”:
<script src="scripts/jquery-1.9.0.min.js"></script>
<script src="http://requirejs.org/docs/release/2.1.9/comments/require.js"></script>
<script src="scripts/CodeBehind/ss.js"></script>
<script src="scripts/CodeBehind/CodeBehind.js"></script>
<p id="P_Display">Hello</p>
<script>
var test = CodeBehind.TestClass();
</script>
和惊喜.. 什么都没有发生.. 我认为这是因为模块,是吗?
我需要做什么才能让这个“静态代码”运行?我还尝试创建一个使用 Script# 编译的对象,但未定义类型。有什么解决这个问题的建议吗?
非常感谢您的帮助!
启
【问题讨论】: