.net React and Browserify:找不到模块。/focusNode
我在Grunt中使用Browserify编译jsx文件,并得到一个一致的错误,Browserify任务失败,出现以下错误 错误:无法从“C:\project\src…”中找到模块“/focusNode” 我有一个jsx组件:.net React and Browserify:找不到模块。/focusNode,.net,gruntjs,reactjs,browserify,.net,Gruntjs,Reactjs,Browserify,我在Grunt中使用Browserify编译jsx文件,并得到一个一致的错误,Browserify任务失败,出现以下错误 错误:无法从“C:\project\src…”中找到模块“/focusNode” 我有一个jsx组件: var React = require('react'); var createBooking = React.createClass({ render: function () { return ( <div className="
var React = require('react');
var createBooking = React.createClass({
render: function () {
return (
<div className="Booking">
<div className="col-xs-12 noPadding">
<div class="modal-header">
<h3 class="modal-title">{this.props.data.title}</h3>
</div>
<div class="modal-body">
This is a modal
</div>
</div>
</div>
)
}
});
module.exports = createBooking;
最后是我的Gruntile(为了简洁而缩短)
我假设这个错误与某个地方的路径有关,但我无法理解。有什么线索吗?你的评论有点难以理解,但我相信你是说
CreateBooking.js
是一个浏览化的包。如果这种情况可能解释了您的错误:新的绑定操作正在为不需要也无法解析的require()
调用解析该绑定。请看我的回答:.dist/components/CreateBooking.js中有什么?只有CreateBooking.js,它是通过Browserify从一个单独的文件夹编译的。确实,这似乎是个问题。我还没有找到一个令人满意的解决方案,所以我转而使用带有*.jsx的所有文件,这样就可以一次浏览所有文件。不知道,但它现在起作用了。
var React = require('react');
(function (React) {
var Booking = require('../dist/components/CreateBooking.js');
var render = function () {
React.render(React.createElement(Booking, { data: { title: 'Test' } }, document.getElementById('bookingForm')));
};
render();
})(React);
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
browserify: {
react: {
options: {
transform: [
[require('grunt-react').browserify, {global: true}]
],
debug: true
},
files: [{
expand: true,
cwd: 'Scripts/components',
src: ['**/*.jsx'],
dest: 'Scripts/dist/components',
ext: '.js'
}]
},
dist: {
files: {
'./Scripts/dist/main_built.js': ['Scripts/custom/main.js']
},
options: {
debug: true,
paths: ['./node_modules','Scripts/custom/**', 'Scripts/dist/**']
}
}
},
});