webpack创建html项目,从零开始其于webpack搭建bootstrap 4项目

环境与目录与初始化

首先确认安装node环境,不多说,运行node -v我的是v10.15.3。

其次在要创建项目的目录运行:

mkdir bs4

cd bs4

新建了bs4目录并进入此目录后,初始化项目

npm init -y

项目使用Git管理,安装好Git后运行:

git init

在项目根目录创建.gitignore文件并输入如下内容:

.DS_Store

node_modules

/dist

# Log files

npm-debug.log*

yarn-debug.log*

yarn-error.log*

# Editor directories and files

.idea

.vscode

*.suo

*.ntvs*

*.njsproj

*.sln

*.sw?

安装 webpack

新版webpack需要安装webpack-cli:

npm install webpack webpack-cli --save-dev

在项目根目录新建webpack.config.js来配置webpack。其内容初始如下:

const path = require('path');

const webpack = require('webpack');

module.exports = {

entry: {

index:"./src/index.js"

},

output: {

path: path.resolve(__dirname,"dist"),

filename: "[name].js",

publicPath: ""

},

module: {

rules: []

},

devServer: {

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

host:"localhost",

port:8080,

open: true

},

plugins: []

};

新建src目录,用于存放开发源文件。

安装 webpack-dev-server

webpack-dev-server用于搭建一个服务器。

npm install webpack-dev-server --save-dev

修改根目录下package.json文件scripts字段,添加入下内容:

"scripts": {

"test": "echo \"Error: no test specified\" && exit 1",

"dev": "webpack-dev-server --mode development",

"build": "webpack --mode production"

},

安装 html-webpack-plugin

html-webpack-plugin用于简单创建 HTML 文件,用于服务器访问。

npm install html-webpack-plugin --save-dev

安装成功后,在webpack.config.js配置文件头部引入此插件

const HtmlWebpackPlugin = require('html-webpack-plugin');

并在webpack.config.js配置文件plugins内实例化HtmlWebpackPlugin:

new HtmlWebpackPlugin({

chunks:['index','common','vendor'],

filename:"index.html",

template:"./public/index.html",

hash:true

})

项目根目录新建public目录,并添加一个index.html作用入口的模板文件。

安装 clean-webpack-plugin

clean-webpack-plugin用于每次打包前清楚以前打包生成的文件。

npm install clean-webpack-plugin --save-dev

安装成功后,在webpack.config.js配置文件头部引入此插件

const CleanWebpackPlugin = require('clean-webpack-plugin');

并在webpack.config.js配置文件plugins内实例化CleanWebpackPlugin:

new CleanWebpackPlugin()

安装 mini-css-extract-plugin

mini-css-extract-plugin用于webpack 4对css提取,安装:

npm install mini-css-extract-plugin --save-dev

安装成功后,在webpack.config.js配置文件头部引入此插件

const MiniCssExtractPlugin =require('mini-css-extract-plugin');

并在webpack.config.js配置文件plugins内实例化MiniCssExtractPlugin:

new MiniCssExtractPlugin({

filename:"[name].css",

chunkFilename: "[id].css"

})

在webpack.config.js配置module.rules数组,添加如下内容:

{

test:/\.css$/,

use:[

{

loader:MiniCssExtractPlugin.loader,

options: {

publicPath:"/"

}

},

"css-loader"

]

}

安装 loader

对于css我们考虑全面点,安装如下loader。

css-loader:解析 CSS 文件,拿其可以作为javascript模块来加载(import,require);

style-loader:将模块的导出作为样式添加到 DOM 中(

less-loader:解析less文件;

sass-loader:编译sass到css文件;

node-sass:提供了一个nodejs编译sass到css文件,sass-loader需要此依赖;

stylus-loader:

postcss-loader:PostCSS = CSS预处理器 + CSS后处理器

autoprefixer:添加前缀。

npm install style-loader css-loader --save-dev

npm install node-sass sass-loader --save-dev

npm install --save-dev less less-loader

npm install --save-dev postcss postcss-loader autoprefixer

npm install --save-dev stylus stylus-loader

安装完成之后,我们来配置webpack.config.js:

module: {

rules: [

{

test: /\.css$/,

use:[

MiniCssExtractPlugin.loader,

"css-loader",

"postcss-loader"

]

},

{

test: /\.less$/,

use: [

MiniCssExtractPlugin.loader,

"css-loader",

"postcss-loader",

"less-loader"

]

},

{

test: /\.scss$/,

use: [

MiniCssExtractPlugin.loader,

"css-loader",

'postcss-loader',

"sass-loader"

]

},

{

test: /\.styl$/,

use: [

MiniCssExtractPlugin.loader,

'css-loader',

'postcss-loader',

'stylus-loader'

]

}

]

},

新建项目根目录postcss.config.js用来配置postcss,其内容如下:

module.exports = {

plugins: {

autoprefixer: {}

}

}

对于其他文件(如图片)我们使用url-loader 和 file-loader。url-loader只是当文件大小低于指定的限制时,可以返回一个 DataURL

npm install --save-dev url-loader file-loader

然后在webpack.config.js里module.rules配置图片加载:

{

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

use: [

{

loader: 'url-loader',

options: {

limit: 1024,

name: '[name].[ext]'

}

}

]

},

使用下一代javascript代码(ES6/ES7),我们要安装babel:

npm install @babel/core babel-loader babel-preset-env --save-dev

在项目根目录新建babel.config.js用于配置balel:

module.exports = {

"presets":["env"]

};

然后在webpack.config.js里module.rules配置加载:

{

test: /\.js$/,

use: [

'babel-loader'

],

exclude: /(node_modules)/

}

webpack splitChunks

在webpack.config.js里配置代码拆分:

optimization: {

splitChunks: {

chunks: "all",

cacheGroups: {

commons: {

chunks: "initial",

name: "common",

minChunks: 2,

maxInitialRequests: 5,

minSize: 0

},

vendors: {

test: /[\\/]node_modules[\\/]/,

name: "vendor",

chunks: "all"

}

}

}

},

安装 bootstrap jquery

最新版为bootstrap 4版本。

npm install bootstrap --save

npm install jquery --save

在webpack.config.js的plugins配置jquery:

new webpack.ProvidePlugin({

$: 'jquery',

jQuery: 'jquery',

'window.jQuery': 'jquery',

'window.$': 'jquery'

}),

设置路径别名

在webpack.config.js的resolve里配置alias:

alias: {

src: path.resolve(__dirname, 'src'),

public: path.resolve(__dirname, 'public')

}

安装 eslint

npm i eslint eslint-config-standard eslint-plugin-standard eslint-plugin-promise eslint-plugin-import eslint-plugin-node eslint-loader babel-eslint -D

根目录下新建.eslintrc.js并配置:

module.exports = {

root: true,

env: {

"browser": true,

"node": true,

"commonjs": true,

"es6": true,

"jquery": true

},

"extends": [

"standard",

"eslint:recommended"

],

"rules": {

'no-extra-semi':2,

'quotes':[2,'single']

},

parser: 'babel-eslint'

};

webpack.config.js里module.rules配置.js的加载:

{

test: /\.js$/,

use: [

'eslint-loader'

],

exclude: /(node_modules)/,

enforce: 'pre'

},

{

test: /\.js$/,

use: [

'babel-loader'

],

exclude: /(node_modules)/

},

同时,在webstorm里添加eslint代码检测:

article-1556161544941.jpg

测试

添加如下目录入文件:

article-1556076001773.jpg

在入口index.js里分别引入我们需要测试的文件

import 'public/css/main.scss'

import 'public/css/style.css'

import 'public/css/c.less'

import 'public/css/a.styl'

import a from 'public/js/a.js'

a();

在main.scss里,引入了bootstrap以及用于定制的custom。

测试所有样式以及js能正常运行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 在使用webpack创建vue项目时,你需要先安装node.js和npm,并确保它们已成功安装。你可以通过在命令行中输入"node -v"和"npm -v"来检查它们的版本号。接下来,你需要安装vue-cli脚手架构建工具,可以通过运行"npm install -g vue-cli"来进行安装。安装完成后,你可以进入你想要创建项目的目录,在命令行中运行"vue init webpack my-project"来创建一个vue项目。在创建过程中,你会被要求设置一些选项,如项目名称、项目描述、作者等。你可以根据自己的需求进行设置。完成设置后,一个基于webpack的vue项目就会被创建出来。\[3\]如果在执行"vue init webpack my-music"命令时遇到报错,可能是由于网络问题导致无法下载模板。你可以尝试检查你的网络连接,并重新执行命令。如果问题仍然存在,你可以尝试使用其他的模板或者查找解决方案来解决这个问题。\[2\] #### 引用[.reference_title] - *1* *2* [创建简单vue项目 / Webpack创建vue项目](https://blog.csdn.net/weixin_45941687/article/details/122924448)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [使用webpack创建vue项目](https://blog.csdn.net/qq_40931553/article/details/105594053)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值