前端包管理工具的配置流程

前端包管理工具的配置流程

一:新建目录结构,初始化项目

1 新建一个文件夹作为新项目的工作空间。
2 使用vscode工具打开文件夹,使用【npm init -y】命令初始化项目,项目初始化后出现一个【package.json】的文件。
3 新建一个【src】目录,用来存放源代码。
4 新建一个【dist】目录,用来存放产品的打包文件。
5【src】下新建首页【index.html】。
6【src】下新建入口文件【index.js】。

二:安装webpack的包管理工具

7 安装webpack打包工具

【cnpm i webpack webpack-cli -D】

8 全局运行【npm i cnpm -g】
9 在【webpack.config.js】配置文件中配置webpack

//向外暴露一个打包对象
module.exports = {
    mode:'development'//development production
}

10 约定的打包的入口文件为【index.js】文件,【约定大于配置的规则】
11 使用【webpack】打包,打包后在【dist】目录下生成一个【main.js】的文件。

三:配置修改后自动编译:

12 实时打包编译工具:【webpack-dev-server】
13 安装:【cnpm i webpack-dev-server -D】
14 在【package.json中配置】

"dev":"webpack-dev-server"

15 执行:【npm run dev】,即可完成修改代码后的自动编译
16 生成的【mian.js】是放在内存中的根目录下,引用内存中的【main.js】

四:配置编译后自动打开浏览器

17

"dev":"webpack-dev-server --open"

五:配置编译后自动跳转到浏览器后自动打开首页

1 问题:编译后没有自动跳转到首页
2 解决:配置编译后自动跳转到首页,即配置首页到内存中
3 安装【html-webpack-plugin】插件,【cnpm i html-webpack-plugin -D】
4 在【webpack.config.js】中进行配置【html-webpack-plugin】插件

//配置插件
    const path = require('path')
    const HtmlWebpackPlugin = require('html-webpack-plugin') //配置在内存中自动生成index.js的插件
 //创建一个插件的实例对象
 const htmlPlugin = new HtmlWebpackPlugin({
     template:path.join(__dirname,'./src/index.html'),
     filename:'index.html'
 })
//向外暴露一个打包对象
module.exports = {
    mode:'development',
    plugins:[
        htmlPlugin
    ]
}

六:总结:

总结:
(1)完成了打包后的【mian.js】文件进内存
(2)【index.html】进内存
(3)并且打包好的【mian.js】自动注入到【index.html】中,使用包管理工具的基本环境设置完成。

七:安装react依赖:

1 安装react依赖【cnpm i react react-dom -S】

react:专门用于创建组件和虚拟DOM元素,同时组件的生命周期在这里
react-dom:专门用于对虚拟DOM进行操作,最主要的应用场景是:【ReactDOM.render()】。

八:在react中启用JSX语法:

1 将html直接定义在js代码中。这些标签代表了一个或者多个js对象。并不是标签。这种在js中混合写入html代码的形式叫做JSX。浏览器默认不识别,可以使用第三方的工具来转换为原生的react中的方法。JSX的本质:在运行的时候被转换为了createlement()。
2 第三方的转换器,使用babel转换html标签
3 安装Babel插件

运行【cnpm i babel-core babel-loader babel-plugin-transfrom-runtime -D】
运行【cnpm i babel-preset-env babel-preset-stage-0 -D】

4 安装能识别转换JSX语法的包:

运行【cnpm i babel-preset-react -D】

5 添加【.babelrc】配置

{
    "presets"  :["env","stage-0","react"],
    "plugins"  :["transform-runtime"]
}

6 在【package.json】中加入插件的配置信息

//向外暴露一个打包对象
module.exports = {
    mode:'development',
    plugins:[
        htmlPlugin
    ],
    module:{ //所有第三方的loader的匹配规则
        rules:[
            {test:/\.js|jsx$/,use:'babel-loader',exclude:/node_modules/}
        ]
    }
}

7 通过以上的配置,babel的配置完成,我们可以使用JSX语法来创建虚拟DOM元素或者组件。

你可能感兴趣的:(node.js,react.js,npm)