您应该将哪个订单添加到Cordova项目?

时间:2015-02-26 22:21:53

标签: cordova winjs visual-studio-cordova

TLDR:Cordova上的WinJS令人困惑。滚动到底部查看问题。

我正在尝试使用Cordova内部的WinJS进行示例处理。我以前做了很多Cordova项目,所以我对它很熟悉,和WinJS一样。但总之,他们提出了一些问题。

微软已经拥有一些Cordova样本:

  • AngularJS样本
  • WinJS示例(TypeScript示例)
  • 骨干样本
  • WinJS股票样本

我正在尝试使用WinJS,但没有 Typescript。这背后的想法是要么引起Cordova开发人员或WinJS开发人员的注意,让他们看看这些工具。一旦我们将混合类型中的TypeScript抛出,它就会成为一种不同的动物,还有一件可供他们学习的东西。

这是迄今为止我见过的最好的示例和文档:Visual Studio Magazine - 在Visual Studio w / Cordova中编写跨平台Cordova应用程序。他在WinJS之前参考了Cordova:

    <script src="scripts/frameworks/base.js"></script>
    <script src="scripts/frameworks/ui.js"></script>
    <script src="scripts/frameworks/winjs.js"></script>

在该Typescript示例中,引用的加载方式如下:

    <script src="./scripts/frameworks/base.min.js"></script>
    <script src="./scripts/frameworks/ui.min.js"></script>

    <!-- Cordova reference (must be added AFTER base.js reference) -->
    <script type="text/javascript" src="cordova.js"></script>
    <script src="scripts/platformOverrides.js"></script>

在股票样本中,它是这样加载的:

    <script src="winjs/js/WinJS.js"></script>
      ………..
    <script src="cordova.js"></script>

注意:一个人使用base&amp; ui,而另一个使用WinJS。两人都来到科尔多瓦之前。不过,我认为你不需要。我在下面说明。

测试1:

  • 在Visual Studio 2013中创建了一个新的Cordova应用程序
  • 从NPM安装WinJS(安装包WinJS)
  • 添加了我的推荐信息:

                                                   
  • 构建应用,在Ripple中部署iOS

  • VS总是在cordova.js的第1938行停止(脚本中的最后一行) })();
  • 点击继续,它在WinjS.js的第73634行停止(最后一行) }(这));
  • 点击继续,它会在index.js的最后一行停止 })();
  • 最后一次点击继续,它在Ripple中加载,表现得像

测试2:

    <script src="cordova.js">                   </script>
    <script src="/WinJS/js/base.min.js">        </script> 
    <script src="/WinJS/js/ui.min.js">          </script>
    <script src="scripts/index.js">             </script>

我有同样的问题!

  • 构建应用程序,在Ripple
  • 中部署iOS
  • VS总是在cordova.js的第1938行停止(脚本中的最后一行) })();
    • 点击继续,它在base.min.js(最后一行)的第11行停止
    • 点击继续,它在ui.min.js(最后一行)的第11行停止
    • 点击继续,它会在index.js的最后一行停止 })();
    • 最后一次点击继续,它在Ripple中加载,表现得像

测试3:

<script src="/WinJS/js/base.min.js">        </script>
<script src="/WinJS/js/ui.min.js">          </script>
<script src="cordova.js">                   </script>   
<script src="scripts/index.js">             </script>
  • 构建应用程序,在Ripple
  • 中部署iOS
  • 点击继续,它在base.min.js(最后一行)的第11行停止
  • 点击继续,它在ui.min.js(最后一行)的第11行停止
  • 点击继续,它在cordova.js的第1938行停止(脚本中的最后一行) })();
  • 点击继续,它会在index.js的最后一行停止 })();
  • 最后一次点击继续,它在Ripple中加载,表现得像

所以我有几个问题:

  1. 何时需要基础和UI?
  2. 什么时候只需要WinJS?
  3. 为什么它一直停在这些线上?这是一个黄色箭头,所以 我假设它是一个警告,但它不清楚它是什么 告诉我。
  4. 注意:如果您使用WinJS.js,则必须在Cordova.js之后引用它 如果你使用base&amp;用户界面,您可以在Cordova.js之前或之后进行 奇怪的。

1 个答案:

答案 0 :(得分:1)

当您定位其中一个模拟器时会发生什么?如果此问题仅限于Ripple,那么您将遇到最近的Ripple错误。看这篇文章:Visual Studio 2013 Update 4 and Apache Cordova CTP3 Breaking/Stopping on Javascript lines with no breakpoints。 RE:WinJS,我相信你可以使用winjs或base / ui,但是使用两者都是多余的。但是,您提到的所需加载顺序的差异非常奇怪。