小编Mic*_*ros的帖子

为什么React app的生成版本(使用Webpack和Babel)使用错误的开发环境与HMR,这会导致错误?

我正在尝试创建我的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)

javascript reactjs webpack babeljs webpack-hmr

16
推荐指数
3
解决办法
5533
查看次数

为什么'git subtree push'总是列出数百个提交?

我正在使用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. ...

为什么这样,我可以配置不同的东西以防止这种情况?我知道它需要检查父项目的提交,但我希望它只是从子树的最后一次成功提取.

git version-control git-subtree

11
推荐指数
1
解决办法
2536
查看次数

是否可以为 React 的类模型打开 React.js 自动绑定

根据这篇博客文章,将所有方法绑定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 ecmascript-6 reactjs

5
推荐指数
1
解决办法
859
查看次数