标签: browserify

Browserify编译为完整的系统路径(使用watchify&gulp)

我来自AMD,似乎已经做错了.

我做了这样的设置:

client/js/index.js (entry point)
client/js/test.js
Run Code Online (Sandbox Code Playgroud)

我希望它建立:

build/app.js
Run Code Online (Sandbox Code Playgroud)

index.js需要test.js像这样:

var test = require('./test');
Run Code Online (Sandbox Code Playgroud)

我的gulp watchify任务看起来像这样:

var gulp = require('gulp');
var gutil = require('gulp-util');
var browserify = require('browserify');
var source = require('vinyl-source-stream');
var watchify = require('watchify');

// https://github.com/gulpjs/gulp/blob/master/docs/recipes/fast-browserify-builds-with-watchify.md
gulp.task('watch', function () {
    var bundler = watchify(browserify('./client/js/index.js', watchify.args));

    bundler.on('update', rebundle);

    function rebundle () {
        return bundler.bundle()
            // Log errors if they happen.
            .on('error', function(e) {
                gutil.log('Browserify Error', e.message);
            })
            .pipe(source('app.js'))
            .pipe(gulp.dest('./build'));
    }

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

编译后的代码看起来很糟糕,因为test.js …

javascript browserify system-paths gulp watchify

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

使用gulp.watch和浏览器化的karma/jasmine单元测试会因错误而失败

我正在使用gulp.watch遇到这个错误.基本上,当测试单元因错误而失败时,watch命令会挂起 - 即只运行一次然后watch再次不会触发事件.

规定的解决方法是使用gulp-plumber来防止错误退出.但是,这仅适用于流.如果我和browserify一起运行业力测试,我的配置看起来与此类似(我无法确定如何将流连接到这个坏男孩以启用管道工):

gulp.task('watch', function() {
  gulp.watch('src/**/*.js', ['test']);
  gulp.watch('test/**/*.spec.js', ['test']);
});

gulp.task('test', function () {
  return karma.server.start({
    files: [
      'test/**/*.spec.js'
    ],
    frameworks: ['browserify', 'jasmine'],
    preprocessors: {
      'test/**/*.spec.js': ['coverage', 'browserify']
    },
    browsers: ['PhantomJS'],
    reporters: ['coverage', 'spec', 'failed'],
    browserify: {
      debug: true,
      transform: ['browserify-istanbul']
    },
    singleRun: true
  });
});
Run Code Online (Sandbox Code Playgroud)

有没有人有一个解决方法来运行测试单元与手表或建议如何让这与gulp管道工一起工作?

unit-testing browserify karma-runner gulp gulp-watch

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

Reactify,Browserify和Gulp:TypeError:Object#<Transform>没有方法'transform'

这是通过命令行执行时的错误gulp scripts:

TypeError:Object#<Transform>没有方法'transform'

这是gulpfile.js:

var gulp            = require ('gulp')
    , browserify    = require ('gulp-browserify')
    , source        = require ('vinyl-source-stream')
    , reactify      = require ('reactify');

gulp.task('scripts', function () {
  browserify('./assets/js/main.js')
    .transform(reactify)
    .bundle()
    .pipe(source('main.js'))
    .pipe(gulp.dest('./static/js'));
});

gulp.task('default', ['scripts']);
Run Code Online (Sandbox Code Playgroud)

我真的不知道如何解决这个问题.我在互联网上搜索,但我发现的任何内容都接近我的具体错误.

javascript browserify reactjs gulp

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

使用browserify/envify删除process.env.NODE_ENV?

所以我通过NPM和Browserify使用ReactJS,但是我试图弄清楚如何在生产模式下构建它,就像自述文件所说,但它似乎没有用.我有这个代码来设置browserify:

var browserify = require('browserify');
var envify = require('envify/custom');
var debug = false;
Run Code Online (Sandbox Code Playgroud)

...

var libraries = browserify({
  debug: debug
}).transform(envify({
  _: 'purge',
  NODE_ENV: debug ? 'development' : 'production'
}));

gulpConfig.tasks.browserify.transformers.forEach(function(transform) {
  libraries.transform(transform);
});

gulpConfig.tasks.browserify.libraries.forEach(function(metaData) {
  if(metaData.path) {
    libraries.require(metaData.path, {
      expose: metaData.name
    });
  } else {
    libraries.require(metaData.name);
  }
});

var libraryStream = libraries.bundle()
.on('error', function(err){
  var message;

  if(err.description)
    message = 'browserify error: ' + err.description + ' when parsing ' + err.fileName + ' | Line ' + err.lineNumber + …
Run Code Online (Sandbox Code Playgroud)

javascript node.js browserify reactjs

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

使Browserify包与ReactDevTools一起玩得很好

反应0.13.3

我开始使用Browserify来组织我的前端React代码.我也在使用React Developer Tools Chrome扩展程序进行调试.但是,我遇到了一些非常简单的React代码.

var React = require('react/addons');

//React DEV-TOOLS requires React to be on the global scope. Scope is hidden when bundling
window.React = React;

var App = React.createClass({
    render: function(){
        return (
            <div>
               <p>Hello world</p> <!-- Renders fine -->
            </div>
        )
    }
});

React.render(
    <App />,
    document.getElementById('content')
);
Run Code Online (Sandbox Code Playgroud)

以下代码实际上有效,"Hello world"呈现正常.当我在控制台中启动React调试器时,麻烦就开始了.我希望它能说出以下内容:

<Top Level>
    <App>...</App>
</Top Level>
Run Code Online (Sandbox Code Playgroud)

但相反,它只是说:

<Top Level></Top Level>
Run Code Online (Sandbox Code Playgroud)

怎么能<App>不承认他们的阵营devtools呈现?

javascript browserify reactjs

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

列出browserify包中的文件

如何查看使用API​​找到并捆绑的所有文件的列表,就像browserify的--list命令行选项一样?

var browserify = require('browserify');
var b = browserify('main.js').bundle();
Run Code Online (Sandbox Code Playgroud)

browserify

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

Gulp错误:无法找到模块browserify

运行gulp时出现上述错误.

无法弄清楚为什么.我已经阅读了一些内容,例如gulp.src需要一个./ infront of app.

var gulp       = require('gulp'),
browserify = require('gulp-browserify');

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

gulp.src(['./app/main.js'])
    .pipe(browserify({
        debug: true,
        transform: [ 'reactify' ]
    }))
    .pipe(gulp.dest('./public/'));

});

gulp.task('default', ['scripts']);
Run Code Online (Sandbox Code Playgroud)

像这样......

我已经完成了npm安装,所以节点模块应该是它所在的位置.值得指出的是它在节点模块中称为gulp-browserify.

我在mac上全局安装了browserify.

让我知道您的想法,或者是否有任何信息遗失.

我是新手做出反应并试图将node.js设置为后端并创建一个反应环境.

javascript node.js browserify gulp

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

React App Error'Uncaught ReferenceError:React未定义'

我正在尝试使用react构建一个应用程序,但它不起作用,我无法理解为什么.所有东西都使用babelify进行编译,但它在性能期间会抛出异常.错误如下:未捕获的ReferenceError:未定义React.

这是我的组件文件(BigCard.jsx):

 export var BigCard = React.createClass({
  render: function() {
    var rows = [];
    for (var variable in this.props.pokemon) {
      if (this.props.pokemon.hasOwnProperty(variable) && variable.toString() !== 'id' && variable.toString !== 'name' && variable.toString !== 'image' && variable.toString !== 'types') {
        rows.push(
          <tr>
            <td class='mdl-data-table__cell--non-numeric'>
              {variable}
            </td>
            <td>
              {this.props.pokemon[variable]}
            </td>
          </tr>
        )
      }
    }
    return (
      <div class='mdl-card mdl-shadow--4dp'>
        <div class='mdl-card__title'>
          <img src={this.props.pokemon.image.src} alt='Pokemon' class='bigCard__img'/>
        </div>
        <h2 class='mdl-card__title-text'></h2>
        <div class='mdl-card__supporting-text'>
          <table class='mdl-data-table mdl-js-data-table'>
            <thead>
              <tr>
                <th class='mdl-data-table__cell--non-numeric'>Type</th>
                <th class='mdl-data-table__cell--non-numeric'>{this.props.pokemon.types}</th>
              </tr>
            </thead>
            <tbody> …
Run Code Online (Sandbox Code Playgroud)

javascript npm browserify gruntjs reactjs

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

Karma Browserify捆绑错误

试图让的组合vue.js,Karma以及browserify很好地发挥单元测试.目前我认为我的browserify流程工作不正常.当测试解析我的文件时,它会在第1行报告错误:

17 07 2016 00:40:44.501:ERROR [framework.browserify]: bundle error

./../../../tests/js/site/Validator.spec.js:1
import Validator from './mixins/Validator.js'
^
ParseError: 'import' and 'export' may appear only with 'sourceType: module'
Run Code Online (Sandbox Code Playgroud)

karma.conf.js文件的关键部分如下所示:

preprocessors: {
    './../../../tests/js/**/*.js': ['browserify']
},

browserify: {
    debug: true, // debug=true to generate source maps
    transform: [ ['vueify', {'presets' : ['es2015']}] ]
},
Run Code Online (Sandbox Code Playgroud)

我一直在挖掘,听起来这是由于browserify处理ES6得不好而且它需要预设babel才能做到这一点.任何帮助,将不胜感激.

javascript unit-testing browserify karma-jasmine vue.js

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

React/Babelify新手; 如何修复"访问PropTypes"警告

我是React和Babelify的新手.

我正在使用Node编译一个Web应用程序.现在我这样做:

browserify({debug: true})
.transform(
  babelify.configure({
    comments : false,
    presets  : [ 
      "react",
      "babili",
    ],  
  })  
)   
.require('./app.js', {entry: true})
.plugin(collapse)
.bundle()
.on("error", function (err) {
  console.log("Error:", err.message);
})  
.pipe(fs.createWriteStream(destination));
Run Code Online (Sandbox Code Playgroud)

我的应用程序是一个非常微不足道的"你好,世界!" 关于这个复杂的概念证明:

class Renderer {
  render () {
    ReactDOM.render(
      <div>Hello, World!</div>
      document.querySelector("#react-app")
    );  
  }
}
module.exports = Renderer;
Run Code Online (Sandbox Code Playgroud)

我收到这个警告:

Warning: Accessing PropTypes via the main React package is deprecated, and 
will be removed in  React v16.0. Use the latest available v15.* prop-types
package from npm instead. For info on usage, …
Run Code Online (Sandbox Code Playgroud)

node.js browserify reactjs babeljs

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