我用cordova/ionic和angularjs创建了这个应用程序。它使用谷歌地图等。我设法在上周制作了一个在VS2015中构建windows phone 10的工作环境,今天准备发布版本,但是如果没有明显的原因,它会停止工作。开始给我WinJS undefined。我的index.html头看起来像这样构建之前:Windows通用JavaScript运行时错误:'WinJS'未定义
<script src="cordova.js"></script>
<script src="js/ionic.bundle.min.js"></script>
<script src="js/requirejs/require.js"></script>
<script src="js/app.js"></script>
,并在调试DOM资源管理器中显示了这个头
<script src="cordova.js"></script>
<script src="/www/WinJS/js/base.js"></script>
<script src="js/ionic.bundle.min.js"></script>
<script src="ms-appx-web://companyName.appName/www/cordova_plugins.js"></script>
<script src="js/requirejs/require.js"></script>
<script src="js/app.js"></script>
所以WinJs似乎被包括在内。通过检查cordova.js断点,我可以看到window.WinJS是未定义的脚本中加入:
if (!window.WinJS) {
var scriptElem = document.createElement("script");
if (navigator.appVersion.indexOf('MSAppHost/3.0') !== -1) {
// Windows 10 UWP
scriptElem.src = '/www/WinJS/js/base.js';
...}
scriptElem.addEventListener("load", onWinJSReady);
document.head.appendChild(scriptElem);
,它仍然在这一点上
var onWinJSReady = function() {
var app = WinJS.Application;
.... }
我见过类似的崩溃这里和那里的问题,但这些都是为Windows Phone 8.1。我不知道这里发生了什么。我的W10手机在应用程序崩溃之前更新了自己,但我怀疑这只是巧合(?)
您是否尝试过'cordova平台添加https:// github.com/apache/cordova-windows'? (可能与[CB-11658](https://issues.apache.org/jira/browse/CB-11658)) – daserge
嗯,我想添加在cordova.js之前手动运行。 – spiritworld