GVKun编程网logo

reactjs – 如何在Create React App中删除死代码(react删除dom)

13

想了解reactjs–如何在CreateReactApp中删除死代码的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于react删除dom的相关问题,此外,我们还将为您介绍关于css–如何在R

想了解reactjs – 如何在Create React App中删除死代码的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于react删除dom的相关问题,此外,我们还将为您介绍关于css – 如何在React Create-React-APP中使用LESS预处理器、Eject在Create React App中做什么?、reactjs – create-react-app和d3 – 为什么d3未定义?、reactjs – Create-React-App无法编译|导入/第一个错误的新知识。

本文目录一览:

reactjs – 如何在Create React App中删除死代码(react删除dom)

reactjs – 如何在Create React App中删除死代码(react删除dom)

我有一个create-react-app项目,我正在努力减少捆绑的JS文件大小.我的捆绑包大小的大约一半来自名为mdbreact(反应组件库)的依赖项,其中大部分未被使用.我试图找出如何/如果我可以从捆绑的构建中移除树抖动的死代码.我一直在研究这个问题,我找到的最接近的文章是 this.这篇文章让我感到困惑,并没有给出如何或是否可以做到的任何解释.我还在webpack树上找到了 this指南,解释了它是如何完成的,但这似乎并没有解决问题.
CRA使用webpack捆绑代码.默认情况下,Webpack只能使用树木模块和使用插件时的commonjs模块.

为了帮助您,您目前如何从mdbreact导入?

看起来mdbreact不是用es模块编写的,因此如果你使用下面的import语句,webpack将会有一个困难的时候树摇晃:

import { module } from 'mdbreact';

相反,您可以尝试使用以下内容导入

import modules from 'mdbreact/module';

您可能必须根据mdbreact的结构更改模块的路径.查看node_modules文件夹以查找.

css – 如何在React Create-React-APP中使用LESS预处理器

css – 如何在React Create-React-APP中使用LESS预处理器

我想在我的create-react-app中使用LESS预处理器.
React Code
ReactDOM.render(
    <form>
        <input type="email" data-info="Enter Email" pattern="/\S+@\S+\.\S+/" required title="Please enter value" required="required"/>
        <input type="submit"/>      
    </form>,document.getElementById('root'))

index.less

body{
  background: red;
}

解决方法

这是我这样做的方式

你应该使用node-sass-chokidar npm包:

npm install node-sass-chokidar --save-dev

然后将以下内容添加到package.json中的npm脚本中:

"build-css": "node-sass-chokidar src/ -o src/","watch-css": "npm run build-css && node-sass-chokidar src/ -o src/ --watch --recursive"

观察者将在src子目录中找到每个Sass文件,并在其旁边创建相应的CSS文件.

请记住从源代码管理中删除所有css文件,并将src / ** / *.css添加到.gitignore.

最后,您可能希望使用npm start自动运行watch-css,并将build-css作为npm run build的一部分运行.为此,安装以下npm包,以便能够顺序执行两个脚本:

npm install --save-dev npm-run-all

然后将package.json文件中的npm start和build脚本更改为以下内容:

"scripts": {
     "build-css": "node-sass-chokidar src/ -o src/","watch-css": "npm run build-css && node-sass-chokidar src/ -o src/ --watch --recursive"
    "start-js": "react-scripts start","start": "npm-run-all -p watch-css start-js","build": "npm run build-css && react-scripts build","test": "react-scripts test --env=jsdom","eject": "react-scripts eject"
   }

有关详细信息,请参阅此链接:https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/template/README.md#adding-a-css-preprocessor-sass-less-etc

Eject在Create React App中做什么?

Eject在Create React App中做什么?

我认为这与直接使用webpack有关,因此具有更大的灵活性。但是我不确定是否有人可以解释“退出”的含义。另外,弹出一个create
react应用程序会有哪些后果?这样做不好吗?

答案1

小编典典

要引导react项目,您将需要了解 WebpackBabel之类的内容 ,这对于不想了解这些内容的人可能是一个症结所在。

create-react-app提供具有合理默认值(并且可以扩展)的完全配置的环境。大多数与基础架构相关的工作对您都是隐藏的,只要其中一个相关软件包中发生更改,这一切都将由您来解决-
只需更新即可react-scripts

我强烈推荐一位CRA作者的演讲,这将使您对该项目有一个更好的了解。

现在 弹出 意味着所有配置都将向您公开。您将看到运行项目的每个软件包。 现在,您负责维护所有这些配置

这不一定是一件坏事。然后,您剩下更多的代码需要维护,但是您得到了完全的控制权。

reactjs – create-react-app和d3 – 为什么d3未定义?

reactjs – create-react-app和d3 – 为什么d3未定义?

我正在使用create-react-app来启动我的应用程序,我想在我的组件中使用d3.我正在使用节点6.3.1.我跑了

npm install d3 –save

并且可以在我的package.json中看到d3.那我为什么不拥有d3?这是我的组件类;它报告d3未定义.

import React from 'react'
import d3 from 'd3'

var Grid = React.createClass({
  render: () => {
    console.log('d3',d3) // reports "d3 undefined"
    return (<div/>)
  }
})

export default Grid
d3不是顶级导出,但您可以导入所有内容并将其保存到d3命名空间
import * as d3 from 'd3'

或者只是导入您打算使用的功能.

reactjs – Create-React-App无法编译|导入/第一个错误

reactjs – Create-React-App无法编译|导入/第一个错误

我目前正在为我的个人网站使用Create-React-App.每次运行时我都会遇到以下错误:
./src/~/react-router-dom/es/index.js
 Line 3:   Import in body of module; reorder to top  import/first
 Line 5:   Import in body of module; reorder to top  import/first
 Line 7:   Import in body of module; reorder to top  import/first
 Line 9:   Import in body of module; reorder to top  import/first
 Line 11:  Import in body of module; reorder to top  import/first
 Line 13:  Import in body of module; reorder to top  import/first
 Line 15:  Import in body of module; reorder to top  import/first
 Line 17:  Import in body of module; reorder to top  import/first
 Line 19:  Import in body of module; reorder to top  import/first
 Line 21:  Import in body of module; reorder to top  import/first
 Line 23:  Import in body of module; reorder to top  import/first
 Line 25:  Import in body of module; reorder to top  import/first

我当然觉得我错过了一些非常小的东西,但我很难搞清楚.我尝试使用Google搜索错误关键字’import / first’,这让我觉得这是一个ESLint问题.如果您在我的导入订单中发现任何问题,请告诉我.我尝试了不同的导入订单,但似乎没有什么可以摆脱错误.

import React from 'react';
import ReactDOM from 'react-dom';
import { createbrowserHistory } from 'history';
import { Router,Route,Redirect,Switch } from 'react-router-dom';
import './index.css'; 
import App from './App.js';
import Home from './home.js';
import About from './about.js';
import Contact from './contact.js';
import NotFound from './404.js';

import registerServiceWorker from './registerServiceWorker';

const history = createbrowserHistory();

ReactDOM.render(
    <Router history={history}>
        <App>
            <Switch>
                <Route exact path="/" component= {Home} />
                <Route path="/about" component= {About} />
                <Route path="/contact" component= {Contact} />
                <Route path="/404" component= {NotFound} />
                <Redirect to= "/404" />
            </Switch>
        </App>
    </Router>,document.getElementById('root')
);
registerServiceWorker();
这是因为您不小心将React Router安装到src文件夹中.所以linter认为这是你的代码并试图验证它.不要在src中安装第三方依赖项.

删除src / node_modules并在应用程序的根文件夹中运行npm install.如果缺少某个软件包,请在根文件夹中运行npm install –save< package-name>.

关于reactjs – 如何在Create React App中删除死代码react删除dom的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于css – 如何在React Create-React-APP中使用LESS预处理器、Eject在Create React App中做什么?、reactjs – create-react-app和d3 – 为什么d3未定义?、reactjs – Create-React-App无法编译|导入/第一个错误等相关知识的信息别忘了在本站进行查找喔。

本文标签: