首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用 webpack 4 和 Babel 7 构建 React 应用及如何引入 Material Design

有很多客户询问如何在 Webpack 上迁移我们的产品模板。 在多次要求求之后,我们写了这个关于如何开始使用 React with Webpack 4和 Babel 7 的小教程。...在本教程的最后,将向大家展示如何在新创建的应用程序上添加 Material Dashboard React。 在我们开始之前,请确保你的电脑上安装了 npm 和 Nodejs 的最新版本。...2.使用一些额外的配置设置创建 package.json 文件 npm init 我在我们新创建的 package.json 文件中添加了一些东西,比如一些很好的 keywords,一个repo等等.....这里是 src 文件夹中的所有内容都需要在浏览器中浏览。 6.plugins 在这里,我们设置了我们的应用程序中需要的插件。...为此,你可以查看官方的 babel-loader 文档。 就我而言,我认为最好将 Babel 配置放在自己的文件中,这样就不会使 Webpack 配置过于复杂难读。

9.4K60

Electron 打包优化 - 从 393MB 到 161MB

关键文件说明 app.asar 将我们项目的代码进行打包后的文件。默认情况下会对我们的整个项目进行打包,包括需要使用到的在 package.json 中 dependencies 声明的包。...为了不让打包程序将这些只在视图层使用到的依赖打包进 node_modules 中,最简单的方式就是在 package.json 文件中将这部分依赖从 dependencies 中移动到 devDependencies...双 package.json 项目结构 上面说到,为不不让 electron-builder 将运行时需要用到但是我们自己已经打包好的依赖放进 node_modules 里一起打包,我们是将那些依赖放进了...如设置 "build": { "files": [ "dist" ] } 则只会打包 app/dist 这个文件夹下的内容。...依赖管理 接下来,我们可以把只在开发中使用到的依赖装在整个项目的根目录下,将需要打包的依赖(与平台相关的或者运行时需要的依赖)装在 app 文件夹下。

15.2K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    一张图教你快速玩转vue-cli3

    vue.config.js定制自己的webpack vue项目部署 说明 本文末尾会给出一个以上提到的所有功能的一个配置文件,可供大家学习参考。...最后可以在vue.config.js做webpack自定义配置 2.添加浏览器支持 browserslist我们可以通过package.json 文件里的 browserslist字段或一个单独的 .browserslistrc...,变量名因以 VUEAPP开头,如下可获取定义的环境变量: console.log(process.env.VUE_APP_SECRET) 7.如何在vue.config.js定制自己的webpack...我们可以使用cli支持的链式调用,或者自定义调用: // vue-cli内部webpack配置 chainWebpack: config => { // 设置快捷目录别名...这里我们使用shell脚本部署,当然大家也可以使用自己熟悉的方式部署: #!

    3.1K80

    13 个 npm 快速开发技巧

    如果你只处理特定的项目,那么这不是问题,但是在许多情况下,跨平台兼容性很有必要的:任何开放源码或协作项目,以及示例和教程项目,都应该能够工作,而不管操作系统是什么。 谢天谢地,解决方案很简单。...在不同的目录中运行脚本 有时,在不同的文件夹中拥有一个包含多个package.json文件的应用程序。...wait-on 节点模块提供了一种方便的方法来确保进程只在某些进程就绪时发生:在我们的例子中,我们有一个特定的端口。 例如,这是我在使用React前端的Electron项目中使用的dev脚本。...要在缺省情况下设置值而不带问题,只需删除prompt方法。 如果要返回默认设置,只需删除.npm-init.js。 13....在文件的顶部引入它,因为我们只需要execSync函数,所以可以使用析构赋值语法自己获取它: const { execSync } = require('child_process'); 我还创建了一个

    1.5K50

    webpack 4 入门

    导读 写这篇文章是为了让自己在自学 webpack 的过程中有所产出,于是边读 webpack 中文文档 边写下了这篇文章,里面的很多实例都是直接挪用的文档中的实例,但在一些概念的理解上我加入了自己的想法...文章内容不仅仅是简单的「概念堆叠」,还有一些「重点」概念的「深入理解」,不过篇幅有限我不希望这篇文章变成一份冗长的伪文档,所以全部的内容都是围绕 webpack 的 4个 核心概念延展开来的,每个配置后面我都会尽量跟上一个实例以更加形象的展示配置的具体作用...站在我的角度上,读完这篇文章并不能让你精通 webpack 但是理解 webpack 中的重要概念,自己编写一个 webpack.config.js 配置文件还是可以的。...* * 此设置允许你使用 CommonsChunkPlugin 从应用程序依赖图中提取 vendor 到 vendor 依赖图,并把引用 vendor 的部分替换为 __webpack_require...除了使用 package.json 常见的 main 属性,还可以将普通的 npm 模块导出为 loader,做法是在 package.json 里定义一个 loader 字段。

    71920

    SpreadJS使用进阶指南 - 使用 NPM 管理你的项目

    NPM,作为管理Node.js库最有力的手段,解决了很多NodeJS代码部署的问题。...如您需要,请点击查看(需要FQ) NPM简介 也许您刚刚接触前端开发,或者刚刚使用NodeJS。NPM对于您来说,可能会感到些许陌生。...它能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种: 1.       允许用户从NPM服务器下载别人编写的第三方包到本地使用。 2.      ...允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。 3.       允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。...本文中,我们将向您介绍如何在webpack项目中使用SpreadJS NPM包。 安装Node.js和NPM 在使用该项目之前,请确保下载并安装Node.js和NPM。

    2.3K20

    WebPack高级进阶:

    Web 服务器,极大地提高了开发效率;实时重载: 当代码发生变化时,Webpack-dev-server 会自动重新编译并刷新浏览器,无需手动刷新;热部署替换 (HMR): 允许在不刷新整个页面的情况下替换...生产模式)、`none无模式)devServer:{ Webpack 中的配置选项 }: 用于配置 Webpack-dev-server 的行为,提供本地实时重载、热部署、功能;在 package.json...package.json: 在 package.json 中添加脚本,使用 cross-env 设置环境变量 "scripts": {//....省略部分代码; "build3": "cross-env...加载器;DefinePlugin 前端注入环境变量:,上述我们通过命令行设置环境变量,实现开发\生产环境配置的切换:但是: cross-env 设置的只支持Node.Js环境生效,前端的代码无法访问...使用实际开发过程中:我们会使用很多的第三方库: 这导致在打包部署:dist部署文件夹 会非常的大;如何才能,减少打包的大小呢?

    10310

    一张图教你快速玩转vue-cli3

    vue.config.js定制自己的webpack vue项目部署 说明 本文末尾会给出一个以上提到的所有功能的一个配置文件,可供大家学习参考。...最后可以在vue.config.js做webpack自定义配置 2.添加浏览器支持 browserslist 我们可以通过package.json 文件里的 browserslist字段或一个单独的 ....,变量名因以 VUE_APP_开头,如下可获取定义的环境变量: console.log(process.env.VUE_APP_SECRET) 7.如何在vue.config.js定制自己的webpack...我们可以使用cli支持的链式调用,或者自定义调用: // vue-cli内部webpack配置 chainWebpack: config => { // 设置快捷目录别名...这里我们使用shell脚本部署,当然大家也可以使用自己熟悉的方式部署: #!

    2K10

    如何规范地发布一个现代化的 NPM 包?

    最后,这个指南不针对某一个特定的打包工具 —— 已经有许多指南来说明如何在配置特定的打包工具。相反我们聚焦于每个库和打包工具(或不用打包工具)都适用的事项。...为了帮助未来的自己,创建 sourcemap,即使只进行了很少的编译工作。...配置 package.json package.json 中有许多重要的配置字段值得讨论;我在这里将着重讨论其中最为重要的一些,这还有很多额外的字段,你同样可以进行配置。.../package.json": "./package.json" } } 让我们深入了解这些字段的含义以及我选择这个例子的原因: "."...这意味着你可以有两个不同的文件夹,都使用 .js 文件,但每个文件夹都有自己的 package.json 并设置为不同的 type 以获得基于 CommonJS 和 ESM 的文件夹。

    2.3K20

    vue.config.js 配置文件

    你也可以使用 package.json 中的 vue 字段,但是注意这种写法需要你严格遵照 JSON 的格式来写。...dll // 关于dll只做简单解释 未附详细代码 // webpack.dll.conf.js // 1、entry配置需要dll打包的库 // 2、module配置处理对应文件类型的...默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上,例如 https://www.my-app.com/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。...当作为一个库构建时,你也可以将其设置为 false 免得用户自己导入 CSS。 提取 CSS 在开发环境模式下是默认不开启的,因为它和 CSS 热重载不兼容。...然而,你仍然可以将这个值显性地设置为 true 在所有情况下都强制提取。

    2.8K00

    现代 JavaScript 库打包指南

    最后,这个指南不针对某一个特定的打包工具 —— 已经有许多指南来说明如何在配置特定的打包工具。相反我们聚焦于每个库和打包工具(或不用打包工具)都适用的事项。...为了帮助未来的自己,创建 sourcemap,即使只进行了很少的编译工作。...配置 package.json package.json 中有许多重要的配置字段值得讨论;我在这里将着重讨论其中最为重要的一些,这还有很多额外的字段,你同样可以进行配置。.../package.json": "./package.json" } } 让我们深入了解这些字段的含义以及我选择这个例子的原因: "."...这意味着你可以有两个不同的文件夹,都使用 .js 文件,但每个文件夹都有自己的 package.json 并设置为不同的 type 以获得基于 CommonJS 和 ESM 的文件夹。

    2.4K20

    Webpack 详解

    Webpack的开发和生产构建 本质上,有两种构建JavaScript应用程序的模式:开发和生产。以前,您已使用开发模式在本地开发环境中开始使用Webpack Dev Server。...但是,最终您希望拥有在Web服务器上的生产环境中部署Web应用程序所需的所有构建文件。...例如,让我们介绍可用于分析和可视化Webpack捆绑包的加载项。在 package.json中 ,为您的构建过程引入一个新的npm脚本,但是这次使用Webpack插件: { ......但是,Webpack插件不会神奇地运行。在这种情况下,它们仅作为标志传递给我们的Webpack配置。...让我们看看如何在 build-utils / webpack.config.js 文件中使用它们: const { merge } = require('webpack-merge'); const commonConfig

    6.2K20

    深入了解Webpack

    Webpack的开发和生产构建 本质上,有两种构建JavaScript应用程序的模式:开发和生产。以前,您已使用开发模式在本地开发环境中开始使用Webpack Dev Server。...但是,最终您希望拥有在Web服务器上的生产环境中部署Web应用程序所需的所有构建文件。...例如,让我们介绍可用于分析和可视化Webpack捆绑包的加载项。在 package.json中 ,为您的构建过程引入一个新的npm脚本,但是这次使用Webpack插件: { ......但是,Webpack插件不会神奇地运行。在这种情况下,它们仅作为标志传递给我们的Webpack配置。...让我们看看如何在 build-utils / webpack.config.js 文件中使用它们: const { merge } = require('webpack-merge'); const commonConfig

    6.9K75

    深入了解Webpack 5

    Webpack的开发和生产构建 本质上,有两种构建JavaScript应用程序的模式:开发和生产。以前,您已使用开发模式在本地开发环境中开始使用Webpack Dev Server。...但是,最终您希望拥有在Web服务器上的生产环境中部署Web应用程序所需的所有构建文件。...例如,让我们介绍可用于分析和可视化Webpack捆绑包的加载项。在 package.json中 ,为您的构建过程引入一个新的npm脚本,但是这次使用Webpack插件: { ......但是,Webpack插件不会神奇地运行。在这种情况下,它们仅作为标志传递给我们的Webpack配置。...让我们看看如何在 build-utils / webpack.config.js 文件中使用它们: const { merge } = require('webpack-merge'); const

    3.6K30

    如何用 esbuild 替换 Create React App 中的 Webpack

    最后,是时候将这个应用程序部署到网络上,并分享你的创造。为了使事情变得简单,你只需运行npm run build,并添加一个命令将文件scp到你的服务器上。...这是我唯一一次部署",你告诉自己,并忽略了构建所需的时间。 你加载很炫酷的新网站,却发现上面有一个错别字。你快速的修改完并重新部署。在你的改动生效之前,又要花费漫长的20秒时间。...这不是一个编造的故事。这是我目前在Kaizen做的一个音乐应用程序的情况。 在其他项目中,我看到生产环境构建时间已经膨胀到超过一分钟。在一个较慢的构建机器上运行时,有时需要两倍的时间。...以前,我曾写过快速迭代的重要性,三行代码不应花费一整天[4]。这个原则同样适用于部署代码。在生产环境被充分验证之前,不能声称事情已经搞定。...添加SVG Loader 默认的应用程序使用import语法来包含一个svg图像。

    2.7K20

    「React TS3 专题」从创建第一个 React TypeScript3 项目开始

    9 、添加 webpack 接下来我们使用 webpack 打包我们的项目,webpack 是什么我就不介绍了,不明白的去 webpack官网看介绍(https://webpack.js.org/)。...配置对象 mode:设置 webpack 当前为开发环境模式还是生产模式 entry:设置 webpack 从哪里开始寻找要捆绑的模块,在我们的项目中入口文件是 index.tsx module:设置...webpack 如何处理不同的模块,webpack 使用 ts-loader 处理 ts 文件和 tsx 扩展 resolve:设置 webpack 如何解析模块 output:设置 webpack...11、创建启动和构建脚本 11.1 、启动应用程序 接下来我们使用npm命令启动我们的应用程序,一个用于开发模式,一个用于生产打包模式,你可以修改 package.json 中 scripts 属性对应的内容部分...11.5、修改 index.tsx 文件 接下来在应用程序仍然在运行的情况下,修改 index.tsx 文件的内容: const App: React.FC = () => { return <

    2.2K10

    现代 JavaScript 库打包指南

    最后,这个指南不针对某一个特定的打包工具 —— 已经有许多指南来说明如何在配置特定的打包工具。相反我们聚焦于每个库和打包工具(或不用打包工具)都适用的事项。...为了帮助未来的自己,创建 sourcemap,即使只进行了很少的编译工作。...配置 package.json package.json 中有许多重要的配置字段值得讨论;我在这里将着重讨论其中最为重要的一些,这还有很多额外的字段,你同样可以进行配置。.../package.json": "./package.json" } } 让我们深入了解这些字段的含义以及我选择这个例子的原因: "."...这意味着你可以有两个不同的文件夹,都使用 .js 文件,但每个文件夹都有自己的 package.json 并设置为不同的 type 以获得基于 CommonJS 和 ESM 的文件夹。

    89810

    现代 JavaScript 库打包指南

    最后,这个指南不针对某一个特定的打包工具 —— 已经有许多指南来说明如何在配置特定的打包工具。相反我们聚焦于每个库和打包工具(或不用打包工具)都适用的事项。...为了帮助未来的自己,创建 sourcemap,即使只进行了很少的编译工作。...配置 package.json package.json 中有许多重要的配置字段值得讨论;我在这里将着重讨论其中最为重要的一些,这还有很多额外的字段,你同样可以进行配置。.../package.json": "./package.json" } } 让我们深入了解这些字段的含义以及我选择这个例子的原因: "."...这意味着你可以有两个不同的文件夹,都使用 .js 文件,但每个文件夹都有自己的 package.json 并设置为不同的 type 以获得基于 CommonJS 和 ESM 的文件夹。

    92830
    领券