我正在尝试创建我的React项目的生成版本,但它选择了错误的配置.
在开发版本中,我正在使用HMR(热模块替换).这是在.babelrc中配置的env > development > plugins.添加额外节点时env > production,似乎会被忽略.它仍在使用HMR的开发配置,这会导致错误:
未捕获错误:locals [0]似乎不是
module启用了热模块替换API 的对象.您应该使用envBabel配置中的部分禁用生产中的react-transform-hmr .请参阅自述文件中的示例:https://github.com/gaearon/react-transform-hmr
当然我已经检查了这些信息,但一切似乎都是正确的.当我从.babelrc的开发配置中删除HMR插件时,它可以工作,证明它确实使用开发配置而不是生产.这是我的文件:
的package.json
{
"name": "myproject",
"main": "index.js",
"scripts": {
"serve": "cross-env NODE_ENV=development webpack-dev-server --content-base bin/ --devtool eval --progress --colors --hot --inline",
"deploy": "cross-env NODE_ENV=production BABEL_ENV=production webpack -p --config webpack.production.config.js"
}
//dependencies omitted in this example
}
Run Code Online (Sandbox Code Playgroud)
.babelrc
{
"presets": ["react", "es2015", "stage-0"],
"plugins": [
["transform-decorators-legacy"]
],
"env": {
"development": {
"plugins": [
["react-transform", {
"transforms": [{
"transform": …Run Code Online (Sandbox Code Playgroud) 我正在使用git子树在项目之间共享源代码的子文件夹.这工作正常,但每次执行git子树推送时,终端都会显示一个不断增长的提交列表:
git subtree push --prefix=public/js/engine engine-remote master --squash
git push using: engine-remote master
-n 1/ 1193 (0)
-n 2/ 1193 (1)
-n 3/ 1193 (2)
...
-n 1193/ 1193 (1152)
Counting objects: 176, done.
...
为什么这样,我可以配置不同的东西以防止这种情况?我知道它需要检查父项目的提交,但我希望它只是从子树的最后一次成功提取.
根据这篇博客文章,将所有方法绑定React.createClass到 to 的this功能不是内置在 React 的类模型中。
是否可以默认开启?
我知道可以使用this.someMethod = this.ticksomeMethod.bind(this);技巧来手动执行此操作,但是是否可以对所有方法都执行此操作?还是我被迫bind为所有方法编写代码?
我现在拥有的代码示例:
import MessageStore from '../stores/MessageStore.js';
export default class Feed extends React.Component {
constructor() {
this.state = {messages: MessageStore.getAll()}
//can I avoid writing this for every single method?
this._onChange = this._onChange.bind(this);
}
_onChange() {
this.setState({messages: MessageStore.getAll()});
};
// componentDidMount, componentWillUnmount and render methods ommited
}
Run Code Online (Sandbox Code Playgroud) javascript ×2
reactjs ×2
babeljs ×1
ecmascript-6 ×1
git ×1
git-subtree ×1
webpack ×1
webpack-hmr ×1