我一直在寻找互联网,没有明确的答案.
目前使用的NodeJS只CommonJS的语法来加载模块,如果你真的想使用标准ES2015模块语法,你要么必须事先transpile,或在运行时使用外部模块加载.
目前我不太喜欢使用这两种方法,NodeJS维护者是否计划支持ES2015模块?我还没有找到关于此的暗示.
目前NodeJS 6.x声称支持96%的ES2015功能,但没有任何模块参考(NodeJS ES2105支持链接).
你知道NodeJS是否会在不久的将来支持这些模块?
我一直在网上寻找这个.我想知道是否有任何Node.js包/ bindigs /库允许你创建一个在没有node-webkit(NW.js)/ Electron或基于浏览器的其他实现的情况下在屏幕上绘制的应用程序.也许某些东西与opengl结合,支持2D图形?
如果您知道某些名称或链接,请告诉我.如果不是,我可能不得不自己写点东西.
感谢你们.
在互联网上看,我对特殊的"index.js"模块文件感到困惑.
使用babelJS + nodeJS或Browserify/Webpack我可以使用import myLib from "./libs"
(即省略/index
或/index.js
部分)在"libs"目录中导入"index.js"模块.
是否支持ES6(EcmaScript 2015)模块官方标准的"index.js"模块解析(指定包含文件夹)?或者它只是"自定义"NodeJS/CommonJS转换行为?
是否可以省略/index
| /index.js
在所有浏览器中导入的一部分(当所有浏览器都支持模块时)?
javascript node.js ecmascript-6 es6-module-loader es6-modules
我正在解决一些练习JavaScript问题,并解决了涉及递归的问题.虽然我做对了,但我的实现与"官方"解决方案不同,所以我想知道是否有人对官方答案是否更好有任何见解,如果是,为什么.
题
实现一个函数,该函数将函数作为其第一个参数,一个数字
num
作为其第二个参数,然后执行传入的函数num
次数.
如果使用递归代码,可以在实现中使用循环,奖励积分.
我的解决方案
function repeat(operation, num) {
if (num > 0) {
operation();
repeat(operation, num - 1);
};
};
Run Code Online (Sandbox Code Playgroud)
鉴于解决方案
function repeat(operation, num) {
if (num <= 0)
return;
operation();
return repeat(operation, --num);
};
Run Code Online (Sandbox Code Playgroud)
有没有什么关于给定的解决方案,使它比我的更好?
我已经为Android安装了最新的Support Repository包.
但是我无法使用ionic/cordova(第一次构建)编译我的新应用程序,并且出现以下错误:
TR: ~/Documents/bitron/B-See tommaso$ ionic run --device android
Running command: /Users/webdev1/Documents/bitron/B-See/hooks/after_prepare/010_add_platform_class.js /Users/webdev1/Documents/bitron/B-See
add to body class: platform-android
Running command: /Users/webdev1/Documents/bitron/B-See/platforms/android/cordova/run --device
ANDROID_HOME=/usr/share/java/android-sdk-macosx
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home
Running: /Users/webdev1/Documents/bitron/B-See/platforms/android/gradlew cdvBuildDebug -b /Users/webdev1/Documents/bitron/B-See/platforms/android/build.gradle -PcdvBuildArch=arm -Dorg.gradle.daemon=true
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring root project 'android'.
> Could not resolve all dependencies for configuration ':_debugCompile'.
> Could not find any version that matches com.google.android.gms:play-services-gcm:+.
Searched in the following locations:
https://repo1.maven.org/maven2/com/google/android/gms/play-services-gcm/maven-metadata.xml
https://repo1.maven.org/maven2/com/google/android/gms/play-services-gcm/
file:/usr/share/java/android-sdk-macosx/extras/android/m2repository/com/google/android/gms/play-services-gcm/maven-metadata.xml
file:/usr/share/java/android-sdk-macosx/extras/android/m2repository/com/google/android/gms/play-services-gcm/
Required by:
:android:unspecified
* …
Run Code Online (Sandbox Code Playgroud) 在Cordova网站上,按字母顺序查看一长串钩子,但是它们触发并执行的正确顺序是什么?
我正在尝试在构建/编译之前将cordova.js
脚本添加到index.html
文件中head
.
首先发生在讲什么before_build
和before_compile
,为什么?条款build
和compile
这里有什么区别?
是否build
意味着compile
在平台代码之前复制所有资产?所以我的钩子应该在before_build
目录中?
如果我错了,请确认或纠正我.
由于文档不清楚,钩子的正确顺序对每个人都有帮助:)
编辑:
最终会cordova-cli
自动cordova.js
为我添加脚本,如果它丢失了吗?因为我正在测试钩子,即使它不起作用,脚本已经存在于html文件中.
当我偶然发现这种"怪异"的行为时,我试图在另一个函数中调试我的代码.
#include <stdio.h>
#define MAX 20
int main(void) {
int matrix[MAX][MAX] = {{0}};
return 0;
}
Run Code Online (Sandbox Code Playgroud)
如果我在该return 0;
行上设置断点并使用Code :: Blocks查看局部变量,则矩阵不会完全用零填充.第一行是,但数组的其余部分只包含随机垃圾.
我知道我可以做一个双for
循环来手动将所有内容初始化为零,但不是C
标准应该用{{0}}
初始化程序将此矩阵填充为零?
也许是因为这是漫长的一天,我很累,但我可以发誓,我知道这一点.
我试着用不同的标准(与代码::块捆绑编译gcc
编译): ,,-std=c89
但它是相同的.-std=c99
std=c11
有什么不妥的想法?你能解释一下吗?
编辑:我特别询问{{0}}
初始化程序.
我一直认为它会将所有列和所有行填充为零.
编辑2:我特别困扰Code::Blocks
和捆绑GCC
.其他评论说该代码适用于不同的平台.但为什么它对我不起作用?:/
谢谢.
我一直在互联网上四处寻找,以便对MVVM
一般情况有更好的了解。
在Wikipedia上,它指出了MVVM
模式的组成部分:
这是我第一次遇到的binder
定义与一起model
,view
,view-model
这是缩写的一部分。
在维基百科的定义中的MVVM
的‘活页夹’规定如下:
声明性的数据和命令绑定在MVVM模式中是隐式的。在
Microsoft
溶液堆中,binder
是一个markup language
称为XAML。活页夹使开发人员免于编写模板逻辑来同步view model
和的义务view
。当在Microsoft
堆栈外部实现时,声明性databinding
技术的存在是该模式的关键推动因素。
问题:每个MVVM
模式都总是包含一个binder
吗?到底是做binder
什么用的?是您实际编写的东西,还是只是有些自动化framework
?
我AngularJS
几乎每天都在工作和使用,并且有些人同意它的模式MVVM
与MVC
/ 相反MVP
。我知道,View Model
这就是AngularJS
所谓"Controller"
的“经典” MVC …
javascript model-view-controller design-patterns mvvm angularjs
我正在学习来自其他编程语言(Js、C 和其他..)的 Java
我想知道在任何情况下该Scanner.next()
方法是否可以返回(不抛出)无效字符串或少于一个字符(即null
或空字符串""
)。我习惯于仔细检查用户输入是否有任何可能的意外/无效值,但我想知道测试null
和myString.length() < 1
是否总是不必要的或可能有用/需要。
我特别在从命令行和 读取时询问,而System.in
不是从其他文件流读取。myString.charAt(0)
从终端输入正常读取时,我是否可以安全地从返回值中获取第一个字符(即,没有管道和文件,直接从终端和键盘读取)?
我搜索了 Java SE 9 API Docs,但找不到关于可能意外返回值的提及。如果输入出现任何问题,它应该只是抛出一个异常,对吗?
示例(没有导入的主要方法的一部分):
Scanner keyboard = new Scanner(System.in);
System.out.print("Enter a selection (from A to E): ");
String res = keyboard.next();
if (res == null || res.length() < 1) {
// Unnecessary if?
}
Run Code Online (Sandbox Code Playgroud) 我想知道(如果可能的话)你如何清除/重置linux/mac/unix(不是DOS)中的终端屏幕,就像你在windows/DOS上用"conio.h"中的clrscr()一样.我知道这里和网上都有类似的问题,但我找不到能够回答我特定案例的问题.
注意:我知道模拟系统的curses/ncurses和解决方案("清除"),但这不是我想要的.我想完全重置终端缓冲区(即我不想向下滚动或添加换行符以清除屏幕),请不要使用curses/ncurses(我不喜欢ncurses屏幕模式,我想坚持使用默认模式).
是可能还是我在问一些不可能的事情?:P我试图制作一个没有诅咒的控制台游戏(不完全是一个roguelike),我不喜欢看到我在屏幕上打印的内容,只需向上滚动即可清除它.
编辑:我已经尝试过系统("重置"),这不是一个使用系统调用的好方法,并且它使用该命令得到了一个不好的延迟,但它接近我想要做的..是否有某种功能/库可以做类似的事情吗?
我认为这也是一个很好的解决方案,做一些像移动(0,0),然后再打印我需要的东西或只是空白(这样我不会滚动和上面的旧文本).但我不知道是否有一个库可以做到这一点,而不是没有curses模式.
现在看下面我自己的答案,我正在使用
printf("\033c");
Run Code Online (Sandbox Code Playgroud)
这个工作正常,解决了我的问题.如果有人知道此解决方案的任何问题,请告诉我.
我的光标可见性有问题.如果它被隐藏了,这段代码会再次显示,你知道修复此问题吗?
谢谢,
Zorgatone
javascript ×5
node.js ×3
c ×2
cordova ×2
ecmascript-6 ×2
es6-modules ×2
ionic ×2
android ×1
angularjs ×1
c89 ×1
c99 ×1
codeblocks ×1
command-line ×1
console ×1
directx ×1
editor ×1
gcc ×1
gradle ×1
graphics ×1
hook ×1
input ×1
java ×1
module ×1
mvvm ×1
opengl ×1
recursion ×1
terminal ×1
text ×1
unix ×1
vi ×1
vim ×1