gpt4 book ai didi

javascript - Grunt-Browserify 扩展标志不起作用

转载 作者:行者123 更新时间:2023-11-30 07:08:31 29 4
gpt4 key购买 nike

我正在尝试使用 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 来编译它时,出现错误:

Error: Cannot find module './components/Test' from '/Users/****/Sites/grunt-test/src'

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

有什么想法吗?

最佳答案

您是否尝试过如下移动 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']
}
}
}
}
});

关于javascript - Grunt-Browserify 扩展标志不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28393969/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com