小编sen*_*nel的帖子

Browserify无法使用babelify变换创建包(TypeError:Path必须是字符串.)

我编写了一个gulp任务,使用watchify和babelify作为转换将我的.jsx和.js脚本编译成一个包.出于某种原因,我的gulp脚本似乎对变换感到窒息,我不确定为什么:

gulp.task('browserify', function() {
  var bundle = watchify(browserify('./app/jsx/client/index.jsx', {
    extensions: ['.js', '.jsx'],
    debug: process.env.NODE_ENV === 'development'
  }));
  bundle.transform(babelify);
  bundle.on('update', function() {
    rebundle(bundle);
  });


  function rebundle(bundle) {
    return bundle.bundle()
    .on('error', function(error) {
      console.log(error.stack, error.message);
      this.emit('end');
    })
    .pipe(
        gulpif(
          (process.env.NODE_ENV == 'production'),
          require('gulp-rename')('bundle.min.js'),
          require('gulp-rename')('bundle.js')
        )
    )
    .pipe(gulpif((process.env.NODE_ENV == 'production'), buffer()))
    .pipe(gulpif((process.env.NODE_ENV == 'production'), uglify()))
    .pipe(gulp.dest('dist/js'));
  }

  return rebundle(bundle);
});
Run Code Online (Sandbox Code Playgroud)

在控制台......

path.js:8
    throw new TypeError('Path must be a string. Received ' +
    ^

TypeError: Path must be a string. Received undefined
    at assertPath …
Run Code Online (Sandbox Code Playgroud)

browserify reactjs gulp react-jsx babeljs

8
推荐指数
1
解决办法
7727
查看次数

对象显示属性但访问它们返回undefined

所以我正在编写一个游戏,我有一个模块可以返回当前通过jQuery按下的键.没有问题.当我尝试访问按下的键时出现问题:

var Keys = require('./lib/keys')

Player.prototype.update = function () {
    Keys(function (err, keydown) {
        console.log(keydown, keydown['w']);
        /* // To move a player up, for example:
          if (keydown['w']) {
            this.y += this.speed;
          }            
        */
    });
};
Run Code Online (Sandbox Code Playgroud)

并且控制台显示按下了哪些键,但尝试访问一个键给了我一个未定义而不是真.

Object    undefined
s: true
w: true
x: true
__proto__: Object
Run Code Online (Sandbox Code Playgroud)

有人有什么想法?

更新:关键模块

var $ = require('./jquery')

var Keys = function (callback) {
  var keydown = {};

  function keyName(event) {
    return String.fromCharCode(event.which).toLowerCase();
  }

  $(document).bind('keydown', function (event) {
    keydown[keyName(event)] = true;
    return false;
  });

  $(document).bind('keyup', function …
Run Code Online (Sandbox Code Playgroud)

javascript

5
推荐指数
1
解决办法
2874
查看次数

如何为项目指定本地版本的Node?

我有一个项目,我们试图让Node在多个开发人员的计算机上启动并运行。问题在于,并非所有开发人员都是Node(甚至JavaScript)开发人员,我们希望确保他们具有运行特定项目所需的Node版本(开发人员在其计算机上将有多个Node项目)。

我了解了package.json的“ engines”字段,但似乎找不到任何方法来安装所需的Node版本。为了进行测试,我通过NVM将当前节点版本设置为v0.10.29,创建了一个package.json并指定了v0.11.13的必要引擎,并尝试通过该node命令以及package.json-defined npm start命令来启动Node 。

blackjack:node-engines-test sent1nel$ node -v
v0.10.29
blackjack:node-engines-test sent1nel$ cat package.json
{
  "name": "node-engines-test",
  "version": "0.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "engineStrict": true,
  "engines": {
    "node": "v0.11.13"
  },
  "start": "node index.js",
  "author": "",
  "license": "ISC"
}
blackjack:node-engines-test sent1nel$ cat index.js
console.log('Version: ' + process.version);
blackjack:node-engines-test sent1nel$ node index.js
Version: v0.10.29
blackjack:node-engines-test sent1nel$ npm start
blackjack:node-engines-test sent1nel$
Run Code Online (Sandbox Code Playgroud)

npm install似乎也不在乎节点引擎版本。

blackjack:node-engines-test sent1nel$ npm install …
Run Code Online (Sandbox Code Playgroud)

javascript dependencies node.js npm

4
推荐指数
4
解决办法
7477
查看次数

NoMethodError:Date:Class的未定义方法`昨天'

在SO上发布的每个答案(是的,我检查过)似乎都有require 'date'解决方案.我已经完成了,我的代码仍然无法正常工作.

require 'date'

yesterday = RepSched::Helpers.datestring(Date.yesterday)
Run Code Online (Sandbox Code Playgroud)

出于某种原因,Ruby在Date.yesterday上窒息

NoMethodError: undefined method `yesterday' for Date:Class
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

编辑

不好了!现在我的问题比我想象的要大.现在我已经意识到这个问题,我意识到DateTime的行为也是不同的!

ruby date

4
推荐指数
2
解决办法
2570
查看次数

标签 统计

javascript ×2

babeljs ×1

browserify ×1

date ×1

dependencies ×1

gulp ×1

node.js ×1

npm ×1

react-jsx ×1

reactjs ×1

ruby ×1