webpack vue css独立,webpack初步搭建Vue项目

本文详细介绍了如何使用各种前端工具和技术来搭建并配置一个完整的前端项目。包括安装配置Webpack、Babel、Vue等,以及处理不同类型的静态资源如CSS、图片等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对文件进行打包

1. cnpm i -D webpack webpack-cli

本地热更新

1. cnpm i -D webpack-dev-server

处理图片资源

url-loader依赖file-loader

1. cnpm i -D url-loader file-loader

处理css文件

1. cnpm i -D css-loader style-loader

css预处理器

1. cnpm i -D stylus stylus-loader

2. cnpm i -D postcss-loader

预处理器工具

1. cnpm i -D autoprefixer

处理html文件

1. cnpm i -D html-webpack-plugin

处理js文件

兼容es6写法

1. cnpm i -D babel-core babel-preset-env babel-loader

处理vue文件

1. cnpm i -D vue vue-loader vue-style-loader vue-template-loader

处理vue中使用jsx文件

If using Babel 7, use 4.x

If using Babel 6, use 3.x

cnpm i -D

babel-plugin-syntax-jsx

babel-plugin-transform-vue-jsx

babel-helper-vue-jsx-merge-props

babel-preset-env

处理package.json跨平台传变量问题

cnpm i -D cross-env

webpack配置

const path = require('path')

const VueLoaderPlugin = require('vue-loader/lib/plugin')

const HTMLPlugin = require('html-webpack-plugin')

const webpack = require('webpack')

const isDev = process.env.NODE_ENV === 'development';

module.exports = {

target:"web",

mode:isDev ? 'development' : 'production',

devtool:"#cheap-module-eval-source-map",

devServer:isDev === 'development' ? {

port:8080,

contentBase:path.join(__dirname,'dist'),

host:'0.0.0.0',

overlay:{

errors:true

},

hot:true

} : {},

entry:path.join(__dirname,'src/index.js'),

output:{

filename:'bundle.js',

path:path.join(__dirname,'dist')

},

module:{

rules:[

{

test:/\.vue$/,

use:{

loader:'vue-loader'

}

},

{

test:/\.jsx$/,

use:{

loader:'babel-loader'

}

},

{

test:/\.css$/,

use:[

'style-loader',

'vue-style-loader',

'css-loader'

]

},

{

test:/\.styl/,

use:[

'style-loader',

'css-loader',

'postcss-loader',

'stylus-loader'

]

},

{

test:/\.(gif|jpg|jpeg|png|svg)/,

use:{

loader:'url-loader',

options:{

limit:1024,

name:'[name].[ext]'

}

}

}

]

},

plugins: [

new VueLoaderPlugin(),

new HTMLPlugin({

filename:'index.html',

template:'index.html'

}),

new webpack.NamedModulesPlugin(),

new webpack.HotModuleReplacementPlugin()

]

}

单独配置jsx,postcss

//.babelrc

{

"presets":[

"env"

],

"plugins":[

"transform-vue-jsx"

]

}

//postcss.config.js

const autoprefixer = require('autoprefixer')

module.exports = {

plugins:[

autoprefixer()

]

}

更多专业前端知识,请上

【猿2048】www.mk2048.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值