小编JMM*_*JMM的帖子

Browserify import/require?

我正在尝试浏览浏览器,并通过了很多例子.

在一个例子中,我看到'import'的使用:

import 'jquery';
Run Code Online (Sandbox Code Playgroud)

和导入本地文件:

import Header from './Header';
Run Code Online (Sandbox Code Playgroud)

但在其他例子中我看到人们通过以下方式导入

require('./Header');
Run Code Online (Sandbox Code Playgroud)

有什么不同?

javascript browserify ecmascript-6

17
推荐指数
1
解决办法
8530
查看次数

eslint警告解释

我一直在玩ES6和角度,我eslint-plugin-angular用来验证我的javascript.我有以下服务:

export function runBlock ($rootScope, $state, $log) {
  'ngInject';

  $rootScope.$on( '$stateChangeStart', function(event, toState) {
    // ...
  } );
Run Code Online (Sandbox Code Playgroud)

但是eslint给我以下错误:

The "$on" call should be assigned to a variable, in order to be
destroyed during the $destroy event
Run Code Online (Sandbox Code Playgroud)

我的意思是我理解这个警告,但是我在以前的角度项目中从未这样做过,如果我做了错误建议的话?为什么需要/良好实践?

这篇文章可供eslint-plugin-angular参考John Papa的角度风格指南,但我并没有真正提到这种情况.

javascript angularjs eslint

7
推荐指数
1
解决办法
1253
查看次数

Ember Cli - 在ember-cli-build中映射供应商ES6依赖?

我正在使用Ember Cli编写一个Ember.js应用程序,我希望包含一个非bower依赖项 - 基本上是我vendor文件夹中的依赖项.

这样做的说明告诉我将以下行添加到我的ember-cli-build.js文件中:

app.import('vendor/dependency-to-include.js');
Run Code Online (Sandbox Code Playgroud)

对于正常的ES5风格的依赖项,这可以正常工作,但是如果我想添加用ES6编写的依赖项呢?

现在它只是将它传递给浏览器,不会产生如下错误:

Uncaught SyntaxError: Unexpected reserved word
Run Code Online (Sandbox Code Playgroud)

因为我的ES6风格的依赖项使用以下语法:

import Util from './util
Run Code Online (Sandbox Code Playgroud)

我猜我需要告诉ember-cli-build在将它传递给浏览器之前将其转换为特定的依赖关系,但我该如何去做呢?

谢谢

transpiler ember.js ember-cli

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

Gulp Browserify在每次保存/更改时需要更长的时间来编译

我正在尝试使用Browserify来加速我的Gulp工作流程.我正在关注此博文:http: //christianalfoni.github.io/javascript/2014/08/15/react-js-workflow.html

我有一切正常,变化最初非常快(500毫秒左右).

但是,每次保存文件时,此时间都会增加.我的任务:

gulp.task('browserify', function() {

var bundler = browserify({
    entries: ['./src/js/app.js'],
    debug: production,
    cache: {},
    packageCache: {},
    fullPaths: true
});

var watcher = watchify(bundler);

return watcher
    .on('update', function() {

        var updateStart = Date.now();

        function transform(next) {
          console.log('JavaScript changed - recomiling via Browserify');
          watcher.transform(babelify).bundle()
          .pipe(source('bundle.js'))
          .pipe(gulp.dest('./build/scripts'))
          .on('end', next);
        }

        transform(function() {
          gulp.start('usemin');
          console.log('Complete!', (Date.now() - updateStart) + 'ms');
        });

    })
    .transform(babelify)
    .bundle()
    .pipe(source('bundle.js'))
    .pipe(gulp.dest('./build/scripts'));
Run Code Online (Sandbox Code Playgroud)

所以在第一次构建时,大约需要3秒钟(这包括一个文件).

然后,在文件更改时:

JavaScript changed - recomiling via Browserify
[11:31:24] Starting 'usemin'...
Complete! 608ms …
Run Code Online (Sandbox Code Playgroud)

javascript npm browserify gulp

2
推荐指数
1
解决办法
1679
查看次数

用其他变量定义JavaScript对象的法律方法

我非常简单的问题是,我想知道以下代码是否合法:

var a = 1;
var b = 2;
var c = {a,b};
Run Code Online (Sandbox Code Playgroud)

背景故事:我可以在Chrome中使用上述代码,但IE 11似乎无法使用此功能.是否有类似(即简明)的方法可以在所有(最近的)浏览器中使用?

javascript javascript-objects ecmascript-6

0
推荐指数
1
解决办法
44
查看次数