- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在编写我的第一个 Electron/Angular/RequireJS 单页桌面应用程序。我从 electron-boilerplate 开始而且效果很好。然而,我需要将 AngularJs 添加到等式中——样板已经使用了 RequireJS。我尝试了多种解决方案,但要么出现错误,要么依赖项未执行。因此,我尝试实现之前堆栈溢出问题“Simple requireJS with angularJS - angular is not defined”中的简单示例。然而,我看到的是文件正在被解析,但它从不执行里面的代码。这几乎就像一个或多个依赖项未得到满足,因此它们不会执行。我的文件如下 - 我添加了一些日志记录,以便我可以轻松查看执行路径。
app.html -- 包含 RequireJS 的起点。
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Electron Boilerplate</title>
</head>
<body ng-app="ReqApp" ng-controller="GreetCtrl">
<h1>{{greeting}}!</h1>
<script data-main="require_config" src="vendor/require.js"></script>
</body>
</html>
require_config.js -- 这包含 RequireJS 配置。
console.log("REQUIRE_CONFIG.JS-------------"+requirejs.version);
requirejs.config({
// alias libraries paths
paths: {
'domReady': './vendor/requirejs-domready',
'angular': './node_modules/angular/angular',
'GreetCtrl': './js/GreetCtrl',
'app': './js/app'
},
// angular does not support AMD out of the box, put it in a shim
shim: { 'angular': { exports: 'angular' }
},
// kick start application
deps: ['./bootstrap']
});
bootstrap.js——来自 RequireJS 的文件 deps
手动引导 AngularJS。
console.log("BOOTSTRAP.JS1-------------");
define([
'require',
'angular',
'app'
], function (require, ng, app) {
'use strict';
console.log("BOOTSTRAP.JS2+++++++++++++");
require(['domReady!'], function (document) {
console.log("BOOTSTRAP.JS+++++++++++++");
ng.bootstrap(document, ['ReqApp']);
});
});
./js/app.js -- 这会初始化应用程序的 AngularJS 模块。
console.log("APP.JS-------------"+requirejs.version);
define([
'angular',
'GreetCtrl'
], function (ng) {
'use strict';
console.log("APP.JS+++++++++++++");
return ng.module('ReqApp', [ 'ReqApp.GreetCtrl' ]);
});
./js/GreetCtrl.js
console.log("GREETCTRL.JS1-------------");
define(['angular'], function(angular) {
console.log("GREETCTRL.JS1+++++++++++++");
angular.module( 'ReqApp.GreetCtrl', [])
.controller( 'GreetCtrl', function GreetCtrl ($scope) {
$scope.greeting = "Hello World";
});
});
运行此示例的控制台输出为:
[16982:0917/115914:ERROR:browser_main_loop.cc(173)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on.
[17010:0917/115915:INFO:renderer_main.cc(200)] Renderer process started
[17014:0917/115915:INFO:renderer_main.cc(200)] Renderer process started
[16982:0917/115915:ERROR:browser_gpu_channel_host_factory.cc(146)] Failed to create channel.
[16982:0917/115915:INFO:CONSOLE(43)] "REQUIRE_CONFIG.JS-------------2.1.20", source: file:///home/swdev/projects/build/require_config.js (43)
[16982:0917/115915:INFO:CONSOLE(8)] "BOOTSTRAP.JS1-------------", source: file:///home/swdev/projects/build/bootstrap.js (8)
页面输出为:
{{greeting}}!
从输出中可以看到,似乎只解析了 require_config.js 和 bootstrap.js 文件,但定义中的代码并未执行。我的问题是:
requirejs
,我需要删除对 require
的使用吗?来自 bootstrap.js 并将其替换为 requirejs
还有?注意:我已经测试过更改此设置,但它对我的问题没有任何帮助。ng-app="ReqApp"
在 HTML 正文定义中。我有限的理解是,这应该被删除,因为我们正在手动引导 AngularJS。我的用例(Election(node)/RequireJS/AngularJS)的正确方法是什么?注意:我已经通过从主体定义中删除定义进行了测试,但它对我的问题没有任何作用。我花了几天时间尝试解决这个问题,因此我们将非常感谢任何帮助!
<小时/>其他尝试:多玩一些来简化部分问题。我似乎无法让 RequireJS 执行或解析某些依赖项。我的简化是:
./app.js
<!doctype html>
<html>
<head>
<title>Electron Boilerplate</title>
</head>
<body >
<script data-main="require_config" src="vendor/require.js"></script>
<h1>Hello World!</h1>
</body>
</html>
./require_config.js
console.log("REQUIRE_CONFIG.JS-------------"+requirejs.version);
requirejs.config({
paths: {
'app': './js/app'
},
// kick start application
deps: ['./bootstrap']
});
./bootstrap.js
console.log("BOOTSTRAP.JS1-------------");
define( ['app'], function (app) {
'use strict';
console.log("BOOTSTRAP.JS2+++++++++++++");
});
./js/app.js
console.log("APP.JS-------------");
define([], function () {
'use strict';
console.log("APP.JS+++++++++++++");
});
结果输出仍然与我上面的原始输出相同。 boostrap.js 和 require_config.js 已处理。 bootstrap.js 定义/函数永远不会被调用,app.js 永远不会被解析。
最佳答案
contacting之后Electron boilerplate 的开发者我想他让我改正了。主要问题是我对样板的所有移动部分缺乏了解。当尝试扩展样板文件时,我当时没有意识到/理解他的应用程序是使用 ES6 编写的,ES6 已被转换为兼容的 RequireJS 格式。因此我遇到的问题根本不是 RequireJS 的问题。我编写的模块符合 RequireJS,然后被转译,这意味着 RequireJS 无法处理它们。
正确的方法是编写 ES6 模块,问题就消失了。一种解决方法是使用符合 RequieJS 的语法添加模块,然后修改样板 build.js copyFromAppDir
以排除这些文件被转译。但同样,为了遵循样板的初衷和设计,代码应该使用 ES6 编写。
关于javascript - 简单的 RequireJS、AngularJS、Electron App、依赖项未执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32630588/
我有一个“有趣”的问题,即以两种不同的方式运行 wine 会导致: $> wine --version /Applications/Wine.app/Contents/Resources/bin/wi
我制作了这个网络抓取工具来获取网页中的表格。我使用 puppeteer (不知道 crontab 有问题)、Python 进行清理并处理数据库的输出 但令我惊讶的是,当我执行它时 */50 * * *
JavaScript 是否被调用或执行取决于什么?准确地说,我有两个函数,它们都以相同的方式调用: [self.mapView stringByEvaluatingJavaScriptFromStri
我目前正在使用 python 做一个机器学习项目(这里是初学者,从头开始学习一切)。 只是想知道 statsmodels 的 OLS 和 scikit 的 PooledOlS 使用我拥有的相同面板数据
在使用集成对象模型 (IOM) 后,我可以执行 SAS 代码并将 SAS 数据集读入 .Net/C# 数据集 here . 只是好奇,使用 .Net 作为 SAS 服务器的客户端与使用 Enterpr
有一些直接的 jQuery 在单击时隐藏打开的 div 未显示,但仍将高度添加到导航中以使其看起来好像要掉下来了。 这个脚本工作正常: $(document).ready(funct
这个问题已经有答案了: How do I compare strings in Java? (23 个回答) 已关闭 4 年前。 这里是 Java 新手,我正在使用 NetBeans 尝试一些简单的代
如果我将它切换到 Python 2.x,它执行 10。这是为什么? 训练逻辑回归模型 import keras.backend as
我有两个脚本,它们包含在 HTML 正文中。在第一个脚本中,我初始化一个 JS 对象,该对象在第二个脚本标记中引用。 ... obj.a = 1000; obj.
每当我运行该方法时,我都会收到一个带有数字的错误 以下是我的代码。 public String getAccount() { String s = "Listing the accounts";
我已经用 do~while(true) 创建了我的菜单;但是每次用户输入一个数字时,它不会运行程序,而是再次显示菜单!你怎么看? //我的主要方法 public static void main(St
执行命令后,如何让IPython通知我?我可以使用铃声/警报还是通过弹出窗口获取它?我正在OS X 10.8.5的iTerm上运行Anaconda。 最佳答案 使用最新版本的iTerm,您可以在she
您好,我刚刚使用菜单栏为 Swing 编写了代码。但是问题出现在运行中。我输入: javac Menu.java java Menu 它没有给出任何错误,但 GUI 没有显示。这是我的源代码以供引用:
我觉得这里缺少明显的东西,但是我看不到它写在任何地方。 我使用Authenticode证书对可执行文件进行签名,但是当我开始学习有关它的更多信息时,我对原样的值(value)提出了质疑。 签名的exe
我正在设计一个应用程序,它使用 DataTables 中的预定义库来创建数据表。我想对数据表执行删除操作,为此应在按钮单击事件上执行 java 脚本。 $(document).ready(functi
我是 Haskell 新手,如果有人愿意帮助我,我会很高兴!我试图让这个程序与 do while 循环一起工作。 第二个 getLine 命令的结果被放入变量 goGlenn 中,如果 goGlenn
我有一个用 swing 实现迷你游戏的程序,在主类中我有一个循环,用于监听游戏 map 中的 boolean 值。使用 while 实现的循环不会执行一条指令,如果它是唯一的一条指令,我不知道为什么。
我正在尝试开发一个连接到 Oracle 数据库并执行函数的 Java 应用程序。如果我在 Eclipse 中运行该应用程序,它可以工作,但是当我尝试在 Windows 命令提示符中运行 .jar 时,
我正在阅读有关 Java 中的 Future 和 javascript 中的 Promises 的内容。下面是我作为示例编写的代码。我的问题是分配给 future 的任务什么时候开始执行? 当如下行创
我有一个常见的情况,您有两个变量(xSpeed 和 ySpeed),当它们低于 minSpeed 时,我想将它们独立设置为零,并在它们都为零时退出。 最有效的方法是什么?目前我有两种方法(方法2更干净
我是一名优秀的程序员,十分优秀!