【问题标题】:Grunt-Browserify extensions flag not workingGrunt-Browserify 扩展标志不起作用
【发布时间】:2015-02-08 12:33:27
【问题描述】:

我正在尝试使用 Grunt-browserify 和 reactify 来解析和捆绑用 jsx 编写的 React 组件。我想使用扩展标志,这样我就不必指定模块的文件扩展名,但我无法让它工作。下面是一些测试代码:

一个 Grunt 文件:

'use strict';
module.exports = function(grunt) {

    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),
        browserify: {
            dev: {
                src: 'src/app.jsx',
                dest: 'dest/app.js',
                options: {
                    debug: true,
                    transform: ['reactify'],
                    extensions: ['.jsx']
                }
            }
        }
    });

    grunt.loadNpmTasks('grunt-browserify');

    grunt.registerTask('default', ['browserify:dev']);

};

主应用文件app.jsx:

'use strict';
var React = require('react');
var Test = require('./components/Test');   // Here is the problem... 

React.render(
    <Test />,
    document.getElementById('test')
);

然后Test.jsx

'use strict';
var React = require('react');

var Test = React.createClass({

    render: function() {
        return(
            <div>
            <p>Some markup</p>
            </div>
        );
    }
});

module.exports = Test;

当我尝试通过运行grunt 来编译它时,我得到一个错误:

错误:无法从“/Users/****/Sites/grunt-test/src”中找到模块“./components/Test”

Grunt-browserify documentation 说它从 v1.2.6 开始就支持扩展标志,我在整个网络上都看到了这样的例子,但我似乎无法让它在这里工作。如果我从命令行运行 browserify——就像browserify -t reactify --extension=.jsx -o dest/app.js——它可以工作。

有什么想法吗?

【问题讨论】:

    标签: javascript gruntjs grunt-browserify


    【解决方案1】:

    您是否尝试过如下移动 browserifyOptions 中的属性?

    grunt.initConfig({
            pkg: grunt.file.readJSON('package.json'),
            browserify: {
                dev: {
                    src: 'src/app.jsx',
                    dest: 'dest/app.js',
                    options: {
                        browserifyOptions: {
                            debug: true,
                            transform: ['reactify'],
                            extensions: ['.jsx']
                        }
                    }
                }
            }
        });
    

    【讨论】:

    • 无法在任何地方找到此文档...谢谢!
    • 为什么这仍然是必要的?!更重要的是,你是怎么想出来的?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-30
    • 2014-02-20
    • 2019-03-21
    • 2011-08-18
    • 2012-03-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多