1.进入网页:https://www.iconfont.cn/,登录后找到自己想要的图标,点击购物车图标添加入库,然后选择下载代码。
2.下载下来的是一个压缩文件里面有很多不同后缀的文件。在我们的项目下新建一个svg的文件夹,将下载的文件除了demo开头的两个文件其他全部拷贝到svg文件夹下。
3.在index.js中引入,下载的css文件:require(\'../svg/iconfont.css\');
4.在iconfont.css中开头将它引用的url加上"./"前缀,为了后面将他引用的文件打包后引用地址正确
5.在index.html中引入图标:
<p>
<span class="iconfont icon-time"></span>//这里的icon-time是我所下载的图标的名称,需要和自己的对应,具体叫什么名字可以在iconfont.css文件中找到
</p>
6.这里打包的文件类型很多,有.ttf/.woff/.eot等。我们使用file-loade来对这些其他文件统一打包,因为他们都不需要进行特殊处理,只要原样输出到打包的文件夹,并保证引用路径正确就可以了。
7.配置webpack-config.js文件:
const{resolve}=require(\'path\');
const HtmlWebpackPlugin = require(\'html-webpack-plugin\');
const MiniCssExtractPlugin = require(\'mini-css-extract-plugin\');
const OptimizeCssAssetsWebpackPlugin = require(\'optimize-css-assets-webpack-plugin\');
const OptimizeCssAssetsPlugin = require(\'optimize-css-assets-webpack-plugin\');
module.exports={
entry:{
vender:[\'./src/js/jquery.js\',\'./src/js/common.js\'],
index:\'./src/js/index.js\',
cart:\'./src/js/cart.js\'
},
output:{
path:resolve(__dirname,\'build\'),
filename:\'[name].js\'
},
mode:\'development\',
module:{
rules:[
//{test:/\.css$/,use:[\'style-loader\',\'css-loader\']},
{test:/\.css$/,use:[MiniCssExtractPlugin.loader,\'css-loader\',\'postcss-loader\']},
{test:/\.less$/,use:[MiniCssExtractPlugin.loader,\'css-loader\',\'less-loader\',\'postcss-loader\']},
{test:/\.scss$/,use:[MiniCssExtractPlugin.loader,\'css-loader\',\'sass-loader\',\'postcss-loader\']},
{test:/.(jpg|png)$/,use:[{ loader:\'url-loader\',options:{
publichPath:\'./images\',
outputPath:\'images/\',
limit:1024*16,
name:\'[name].[ext]\'
}}]},
{test: /\.(html)$/, use:[\'html-loader\']},
{exclude:/\.(js|json|html|css|less|scss|png|jpg|jpeg|gif)$/,use:[{loader:\'file-loader\',options:{//配置打包其他文件,exclude表示打包件除了写进去的后缀的其他文件
publichPath:\'./svg\',//打包后引用文件需要加上的路径前缀
outputPath:\'svg/\',//打包输出的文件夹
name:\'[name].[ext]\'//打包后文件的输出名称,这里表示原名称不变
}}]}
]
},
plugins:[
new HtmlWebpackPlugin({
template:\'./src/index.html\',
filename:\'index.html\',
chunks:[\'vender\',\'index\']
}),
new HtmlWebpackPlugin({
template:\'./src/cart.html\',
filename:\'cart.html\',
chunks:[\'vender\',\'cart\']
}),
new MiniCssExtractPlugin({
filename:\'index.css\'
}),
//new OptimizeCssAssetsPlugin()
]
}