![](/img/trans.png)
[英]Proper way of Installing ESlint with Prettier in a React Project
[英]What is the proper way to build a React 0.12 Project?
我刚刚从React 0.11.1升级到0.12.2。 到目前为止,我的代码结构是使我的组件位于它们自己的目录中,我将使用Grunt将它们编译为一个javascript目录,然后将它与React.js合并为一个文件,以在index.html中使用。
Project
|_index.html
| JSX
|_someFile.jsx
| JS
|_somefile.js
| Lib
|_react.js
| Production
|_concatenated.js
module.exports = function (grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
react: {
dynamic_mappings: {
files: [
{
expand: true,
cwd: 'jsx/',
src: ['*/*.jsx', '*.jsx'],
dest: 'js/',
ext: '.js'
}
]
}
},
concat: {
dist: {
src: ['js/lib/*.js', 'js/*/*.js'],
dest: 'prod/built.js'
}
},
...
});
};
升级到React 0.12.2后,我收到消息“ Warning: Something is calling a React component directly. Use a factory or JSX instead. See: h[ttp://fb.me/react-legacyfactory][1]
”该代码可以工作,但是显然我正在使用一些旧约定。 我阅读了react-legacyfactory和新文档 ,看来我要做的就是向项目添加require,然后调用var React = require('react');
我这样做了,我什至为我的package.json添加了react和reactify,以防万一,但是现在我得到了“ Uncaught Error: Module name "react" has not been loaded yet for context: _. Use require([])
我对require或现在如何构建React并不十分熟悉。 串联我所有的JS文件是否与React项目现在应该如何工作相矛盾?
您正在使用什么版本的grunt-react? 我相信,如果您在页面中使用最新版本的react,但是您使用较旧版本的react-tools编译了jsx,则会收到此错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.