【问题标题】:Use a Script# library (or module) in non Script# web applications在非 Script# Web 应用程序中使用 Script# 库(或模块)
【发布时间】: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# 编译的对象,但未定义类型。有什么解决这个问题的建议吗?

非常感谢您的帮助!

【问题讨论】:

    标签: cordova script#


    【解决方案1】:

    阅读documentation of RequireJS 清除了一切..

    【讨论】:

      猜你喜欢
      • 2014-02-22
      • 1970-01-01
      • 2017-10-13
      • 2016-10-10
      • 1970-01-01
      • 2018-01-27
      • 1970-01-01
      • 2012-07-05
      • 1970-01-01
      相关资源
      最近更新 更多