我试图使用和reactify来解析和捆绑用jsx编写的reactify组件。我希望使用扩展名,这样我就不必指定模块的文件扩展名,但是我一直无法让它工作。下面是一些测试代码:
Gruntfile:
'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‘
咕噜-褐变文档说它从v1.2.6开始就支持扩展标志,我在网络上看到了这方面的例子,但是我似乎无法让它在这里工作。如果我从命令行运行浏览器化(就像browserify -t reactify --extension=.jsx -o dest/app.js那样),它就能工作。
有什么想法吗?
发布于 2015-03-10 03:05:49
您是否尝试过将属性移动到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']
}
}
}
}
});https://stackoverflow.com/questions/28393969
复制相似问题