‘use strict’;
const path = require(‘path’);
const fs = require(‘fs’);
const appDirectory = fs.realpathSync(process.cwd());
const resolveAppPath = relativePath => path.resolve(appDirectory, relativePath);
module.exports = {
mainJs:resolveAppPath(‘src/main.js’),
html:resolveAppPath(‘public/index.html’),
buildPath:resolveAppPath(‘dist’),
};
paths.js文件用于配置在编译时可能用到的一些路径,并将其转化为绝对路径,这里导入了三个路径
1.mainJs:入口文件,可以理解为我们的静态页面在未编译时所引入的唯一js文件,这也是react官方推荐的模式
2.html:静态页面路径
3.biildPath:编译完成后的文件应该放置的目录
const path = require(‘path’);
const paths = require(‘./paths’);
const HtmlWebpackPlugin = require(‘html-webpack-plugin’);
module.exports = {
entry: paths.mainJs,
output: {
filename: ‘bundle-[hash].js’,
path: paths.buildPath
},
module: {
rules: [
{
test: /.(js|jsx)$/,
exclude: /node_modules/,
use: {
loader: “babel-loader”
}
},{
test: /.css$/,
use: [‘style-loader’, ‘css-loader’]
},{
test: /.(png|jpg|jpeg|gif)$/,
use: ‘url-loader’
},
]
},
plugins: [
new HtmlWebpackPlugin({
template: paths.html,
inject: true
})
]
};
entry选项用于指定入口文件,可以理解为我们的静态页面在未编译时所引入的唯一js文件
output选项用于指定编译结果,filename设置编译完成的文件名称,使用[hash]将编译完成的js文件加上哈希码,防止浏览器缓存,path指定js文件放置目录
需要注意的是除了使用babel-loader对js文件的语法进行转换之外,还要用style-loader和css-loader对css文件进行转换,否则在使用antd的样式时会报错,使用HtmlWebpackPlugin在编译时往html文件中插入编译后的js文件
对于babel的配置主要有两种方式,一种是在项目根目录下创建**.babelrc**文件
{
“presets”: [
“es2015”,
“react”
],
“plugins”: [“transform-class-properties”,[“import”, {
“libraryName”: “antd”,
“libraryDirectory”: “es”,
“style”: “css”
}]]
}
加入transform-class-properties插件可以使用属性初始化器语法,不用在构造函数中定义属性,同时配置babel-plugin-import,实现antd的按需引入
4.测试
在src目录下新建page目录,创建index.js文件,编写一个测试组件,这里用antd官方文档上的演示代码
import React from ‘react’;
import { Menu, Icon, Switch } from ‘antd’;
const { SubMenu } = Menu;
class Sider extends React.Component {
state = {
mode: ‘inline’,
theme: ‘light’,
}
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
前端面试题汇总
JavaScript
CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
性能
linux
前端资料汇总
一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算
.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算