首先......我有下一个gulp任务:
gulp.task('js', function() {
browserify('./src/js/main.js')
.bundle()
.on('error', onError)
.pipe( source('main.js') )
.pipe( gulp.dest(path.build.js) );
});
Run Code Online (Sandbox Code Playgroud)
和package.json:
{
"browserify": {
"transform": [
["babelify", { "presets": ["es2015"] }],
"debowerify"
]
},
}
Run Code Online (Sandbox Code Playgroud)
我在main.js中导入Backbone(或者只是下划线......没关系)
import Backbone from 'backbone';
Run Code Online (Sandbox Code Playgroud)
在控制台我得到错误
未捕获的TypeError:无法读取未定义的属性"_"
我检查了代码,发现在库的开头是下划线源root是未定义的
// Establish the root object, `window` in the browser, or `exports` on the server.
var root = this;
// Save the previous value of the `_` variable.
var previousUnderscore = root._;
Run Code Online (Sandbox Code Playgroud)
我认为问题在于debowerify或babelfy是将代码包装在某个函数中.但是如果我使用没有debowerify的节点模块,一切正常.但我想用凉亭.
那么如何解决这个问题呢?
如果我在运行此代码的一台机器上有 4 个、8 个或更多线程和集群,是否会出现日志文件/文件编写器的资源争用?如果是这样,您能发布一个示例来说明吗?到目前为止,我所做的所有测试似乎都表明写入数据不会交织在一起,也不会被丢弃,但我并不是 100% 相信
谢谢!
var errLog = fs.createWriteStream(... + '/error.log');
GLOBAL.dbLog = fs.createWriteStream(... + '/db.log');
Run Code Online (Sandbox Code Playgroud) 所以,我正在制作一个小型的Web应用程序,以便在使用画布时变得更好,但是我被卡住了.我想要一个旋转的n边多边形(线条图已经有效).游戏循环遍历网格数组(网格上的每个点都包含Point()对象的子类),并在每个上调用tick()方法.一切正常,直到它碰到一个ShapePoint()对象(中间的鼠标放在画布上).ShapePoint的tick()方法在某种程度上是一个无限循环.如果你把一个console.log("hi")放在里面,它会给你大约2000条"hi"消息,所以它正在工作(理论上).有趣的是,尽管它正在循环通过stoke(),但没有任何事情发生!
//################################################################
// THIS IS THE PROBLEM CLASS.
// So pretty much, when the game loop calls the tick() funciton
// of ANY ShapePoint object, everything hangs. The game is still
// looping through the ENTIRE tick() function (put console.log()
// functions in and you'll see what I mean) continually, but the
// effects it is supposed to display aren't shown.
//
//################################################################
function ShapePoint(x, y, sides) {
//position variable
this.positionOnCanvas = [x, y];
//number of sides
this.N = sides; …Run Code Online (Sandbox Code Playgroud) 我有一个使用ES6的Node应用程序,我使用以下命令运行nodemon cluster.js --exec babel-node.
我也有一个.babelrc文件:
{
"presets": ["es2015"],
"ignore": [
"public"
]
}
Run Code Online (Sandbox Code Playgroud)
该文件夹public包含前端文件,如html,css和js.但是,当我在公共文件夹中编辑JS文件时,babel-node编译我的代码,我不希望这发生.
我试图模仿我的一个ES6 React组件的依赖,但我认为我现在真的已经走到了尽头.我一直在谷歌上搜索两个小时的选项,但是没有一个解决方案似乎有效,我想我已经用尽了所有的选择.我尝试的最后一个解决方案,"babel-preset-rewire",似乎是最有希望的,但是即使我按照文档进入T也会出现错误.这是我尝试使用这个babel插件,但我也愿意其他嘲弄选项.
.babelrc
{
"plugins": ["rewire"],
"presets": ["es2015", "react", "stage-0"]
}
Run Code Online (Sandbox Code Playgroud)
规格
import { SignUp } from './signUp';
SignUp.__Rewire__('TopBarContainer', class TopBarMock {
render() {
return (<div></div>);
}
});
Run Code Online (Sandbox Code Playgroud)
这甚至没有扩展React.Component,但目标只是让一些基本工作.我甚至似乎无法使用模块导出Rewire函数...当我尝试运行上面的代码时,抛出以下错误消息:
TypeError:_get __(...).Rewire不是一个功能
我开发了一个javascript CLI应用程序,它使用ES2015代码和babel作为编译器.(babel-require hook)
该应用程序在本地完美运行,但当我在npm上发布时,它停止工作(babel似乎不再编译ES2015文件)
建立:
样本./bootstrap.js(ES5):
require('babel-register');
require('./src/app.js');
Run Code Online (Sandbox Code Playgroud)
样本./src/app.js(ES2015):
import package from 'package';
...
Run Code Online (Sandbox Code Playgroud)
样品./bin/myapp:
#!/usr/bin/env node
require('../bootstrap.js');
Run Code Online (Sandbox Code Playgroud)
在本地运行:
appdir$ ./bin/myapp
I'm running fine!
appdir$
Run Code Online (Sandbox Code Playgroud)
全局运行(在npm安装之后)中断:
$ sudo npm install -g myapp
??? myapp@0.1.0
$ myapp
/usr/local/lib/node_modules/myapp/src/app.js:1
(function (exports, require, module, __filename, __dirname) { import package from 'package';
^^^^^^
SyntaxError: Unexpected token import
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:404:25)
at Module._extensions..js (module.js:432:10)
at Object.require.extensions.(anonymous function) [as .js] (/usr/local/lib/node_modules/myapp/node_modules/babel-register/lib/node.js:138:7)
at Module.load (module.js:356:32)
at …Run Code Online (Sandbox Code Playgroud) 我正在使用NodeJS构建一个小的url-shortener应用程序.我在ES6中编写代码,使用导入Babel然后我的服务器的索引文件:
require('babel-core/register');
require('./server.js');
Run Code Online (Sandbox Code Playgroud)
这在localhost上完全正常,我的所有ES6代码都能正常工作.
但是,当我成功部署到Heroku时,我收到一个应用程序错误,并在heroku日志中显示以下内容--tail -a shortenthisurl:
2016-02-06T12:31:14.074071+00:00 heroku[slug-compiler]: Slug compilation started
2016-02-06T12:31:14.074080+00:00 heroku[slug-compiler]: Slug compilation finished
2016-02-06T12:31:13.936954+00:00 heroku[api]: Deploy f576f69 by rory88@gmail.com
2016-02-06T12:31:13.936991+00:00 heroku[api]: Release v17 created by rory88@gmail.com
2016-02-06T12:31:14.230327+00:00 heroku[web.1]: State changed from crashed to starting
2016-02-06T12:31:15.215417+00:00 heroku[web.1]: Starting process with command `node index.js`
2016-02-06T12:31:16.816525+00:00 app[web.1]: module.js:341
2016-02-06T12:31:16.816534+00:00 app[web.1]: throw err;
2016-02-06T12:31:16.816535+00:00 app[web.1]: ^
2016-02-06T12:31:16.816536+00:00 app[web.1]:
2016-02-06T12:31:16.816541+00:00 app[web.1]: Error: Cannot find module 'babel-core/register'
2016-02-06T12:31:16.816541+00:00 app[web.1]: at Function.Module._resolveFilename (module.js:339:15)
2016-02-06T12:31:16.816542+00:00 app[web.1]: at Function.Module._load (module.js:290:25)
2016-02-06T12:31:16.816543+00:00 app[web.1]: at Module.require (module.js:367:17) …Run Code Online (Sandbox Code Playgroud) 我试图了解Rust宏如何捕获工作,并正在查看nom解析器库。
位置nom / src / bytes.rs声明tag!使用捕获的宏($i:expr, $tag: expr)。但是,在使用的所有地方,tag!它仅使用一个参数,即tag!("+")。例如:NOM-lua52 / op.rs。我已经阅读了有关宏的教程,但是这种结构似乎很特殊。
似乎输入$i是某种隐式的?
我来自一个主要是PHP/MySQL的背景,并且勉强进入node.js为我自己的测试和学习如何做事创建一个博客系统.我在这里遇到的问题是我似乎无法弄清楚如何进行正确的查询.我已经检查了node-mysql的文档但是还没有找到很多关于进行查询的信息.
如果我这样做,var posts = rows[0];我得到表的数组,它看起来不错,但我试图将特定字段传递给变量,但是当我执行下面的代码时,我得到了一堆"未指定"的.我知道这里有问题,我通常会mysql_fetch_array在PHP中做一个,但我不知道在node.js和node-mysql中执行此操作的方法.
connection.query('SELECT * FROM posts ORDER BY date', function(err, rows, fields) {
if (err) throw (err);
var post_date = rows[1];
var post_author = rows[2];
var post_content = rows[3];
console.log('Date: ', post_date);
console.log('Author: ', post_author);
console.log('Content: ', post_content);
});
Run Code Online (Sandbox Code Playgroud) 例如,如果在我的package.json中,我有这个:
"dependencies": {
"cacheman": "2.1.0" }
Run Code Online (Sandbox Code Playgroud)
它工作正常,当我进行npm安装时,它将触发缓存器内的构建脚本.
但是,如果我这样做:
"dependencies": {
"cacheman": "https://github.com/cayasso/cacheman.git" }
Run Code Online (Sandbox Code Playgroud)
它不会起作用.npm install不会触发cacheman的构建过程.
这是为什么?
babeljs ×6
node.js ×6
javascript ×3
npm ×2
browserify ×1
canvas ×1
conflict ×1
ecmascript-6 ×1
gulp ×1
heroku ×1
infinite ×1
jquery ×1
logging ×1
loops ×1
macros ×1
mocking ×1
node-mysql ×1
nom ×1
npm-install ×1
reactjs ×1
rust ×1