@
@是 webpack 设置的路径别名,设置方法如下,在 resolve 属性中设置 alias 属性,将 src 的绝对路径映射到 @。
const path = require('path');const webpack = require('webpack');const HtmlWebpackPlugin = require('html-webpack-plugin');module.exports = {devServer: {port: 8080,open: true,compress: true,static: './dist',},entry: {index: './src/index.js'},output:{path: path.resolve(__dirname, './dist'),filename: '[name].[hash:8].js'},resolve:{alias: {'@': path.resolve('src')}},module:{rules: [{test: /\.css$/,use:['style-loader',{loader:'css-loader',options: {url: true,import: false,modules: true,sourceMap: true}}]}]},plugins: [new webpack.CleanPlugin(),new HtmlWebpackPlugin({filename:'index.html',inject: 'body',template:'./public/index.html'})]}
~
使用方法
@import url('./other.css');body {background: red;background-image: url(@/test.jpeg);background-image: url(./test.jpeg);background-image: url(~image/test.jpeg);}.index {color: blue;}.orange {color: orange;}
如代码中所示。
@代表了 src 文件夹。
~代表了 node_modules 文件夹,image就是 node_modules 文件夹下的一级目录。
