HTML 파일의 Webpack 처리
이 문서에서는 webpack의 html 파일 처리에 대해 설명합니다. 필요한 친구는 이를 참조할 수 있습니다.
html 파일을 처리하는 이유
우리의 모든 방법은 dist 파일 폴더에 패키지되어 있으며, html 는 우리가 정의한 폴더 아래에 있습니다. src를 통해 이러한 dist 폴더의 js를 하나씩 수동으로 가져오면 너무 신뢰할 수 없습니다
그래서 해결책은 다음과 같습니다.
웹팩 플러그인 사용: HtmlWebpackPlugin
-
Step 1 : 다운로드
npm install --save-dev extract-text-webpack-plugin
step 2 : webpack.config.js
configuration htmlwebpackplugin의 구성 항목은 다음과 같습니다. webpack.config.js
配置
其中HtmlWebpackPlugin的配置项有:
Name | 类型 | Description |
---|---|---|
title | {String} | 用于生成的HTML文档的标题 |
filename | {String} | 要生成HTML的文件。可以指定目录 |
template | {String} | 依据的模板文件 |
inject | {Boolean|String} | 将js资源注入到页面哪个部位,值有:true ‘head’ ‘body’ false,当传递true或’body’所有JavaScript资源将被放置在正文元素的底部。’head’将脚本放置在head元素中 |
favicon | {String} | 将给定的图标路径添加到输出HTML |
hash | {Boolean} | 如果true将webpack所有包含的脚本和CSS文件附加一个独特的编译哈希。这对缓存清除非常有用 |
chunks | {?} | 放入你需要引入的资源模块 |
excludeChunks | {?} | 不放入你某些资源模块 |
预期目标: 我的项目是一个多入口文件的项目,希望每一个入口页面引入对应的js模块和css
比如login页面引入login的js和css、index引入对应js和css
webpack.config.js
配置如下:
const path = require('path');const webpack = require('webpack')const ExtractTextPlugin = require("extract-text-webpack-plugin");const HtmlWebpackPlugin = require('html-webpack-plugin');const configs = { entry:{ 'commom':['./src/page/common/index.js'], 'index':['./src/page/index/index.js'], 'login':['./src/page/login/index.js'] }, output:{ path:path.resolve(__dirname, 'dist'), filename:'js/[name].js' }, module:{ rules:[ { test:/\.css$/, use:ExtractTextPlugin.extract({ fallback: "style-loader", use: "css-loader" }) } ] }, plugins:[ //独立通用模块 new webpack.optimize.CommonsChunkPlugin({ name : 'common', filename : 'js/base.js' }), //独立打包css new ExtractTextPlugin('css/[name].css'), //对html模板进行处理,生成对应的html,引入需要的资源模块 new HtmlWebpackPlugin({ template:'./src/view/index.html',//模板文件 filename:'view/login/index.html',//目标文件 chunks:['commom','login'],//对应加载的资源 inject:true,//资源加入到底部 hash:true//加入版本号 }) ] } module.exports= configs
然后打包结果如下
其中生成的目标文件:
为什么去处理html文件
我们所有的方法都打包到了dist的文件夹下面,而我们的html是在自己定义的文件夹下面,如果自己手动再去一个一个src引入这些dist文件夹下的js,那么也有些太不靠谱了
所以解决办法是:
使用webpack插件:HtmlWebpackPlugin
第一步:下载
npm install --save-dev extract-text-webpack-plugin
第二步:webpack.config.js
title
filename | {String} | |
---|---|---|
template | {String} | |
inject | {Boolean|String} | 페이지의 어느 부분에 js 리소스를 삽입할지에 따라 템플릿 파일을 지정할 수 있습니다. 값은 다음과 같습니다. true 'head' ' body' false, true 또는 'body'를 전달하면 모든 JavaScript 리소스가 body 요소의 맨 아래에 배치됩니다. 'head'는 스크립트를 헤드 요소에 배치합니다. |
favicon | {String} | 주어진 아이콘 경로를 출력 HTML |
hash | {Boolean} | 에 추가합니다. true이면 webpack에 스크립트가 모두 포함됩니다. 및 CSS 파일에는 고유한 컴파일 해시가 추가됩니다. 이는 캐시 삭제에 매우 유용합니다 |
chunks | {?} | 가져와야 하는 리소스 모듈을 넣으세요 |
excludeChunks | {?} | 일부 리소스 모듈은 넣지 마세요 |
예상 목표: 내 프로젝트는 여러 항목 파일이 있는 프로젝트입니다. 각 항목 페이지에 해당 js 모듈과 css가 소개되기를 바랍니다. | 예를 들어 로그인 페이지에는 로그인 js 및 css가 소개됩니다. index는 해당 js와 css를 소개합니다||
![]() | 생성된 대상 파일: |
webpack.config.js
Configuration🎜🎜HtmlWebpackPlugin의 구성 항목은 다음과 같습니다. 🎜🎜🎜🎜 🎜Name🎜🎜Type🎜🎜 Description🎜🎜🎜🎜🎜🎜title🎜🎜{String}🎜🎜생성된 HTML 문서의 제목🎜🎜🎜🎜filename🎜🎜{String}🎜🎜HTML을 생성하는 파일입니다. 🎜🎜🎜🎜template🎜🎜{String}🎜🎜🎜🎜🎜🎜inject🎜🎜{Boolean|String}🎜🎜페이지의 어느 부분에 js 리소스를 삽입할지에 따라 템플릿 파일을 지정할 수 있습니다. 값은 다음과 같습니다. true 'head' ' body' false, true 또는 'body'를 전달하면 모든 JavaScript 리소스가 body 요소의 맨 아래에 배치됩니다. 'head'는 스크립트를 헤드 요소에 배치합니다. 🎜🎜🎜🎜favicon🎜🎜{String}🎜🎜주어진 아이콘 경로를 출력 HTML🎜🎜🎜🎜hash🎜🎜{Boolean}🎜🎜에 추가합니다. true이면 webpack에 스크립트가 모두 포함됩니다. 및 CSS 파일에는 고유한 컴파일 해시가 추가됩니다. 이는 캐시 삭제에 매우 유용합니다🎜🎜🎜🎜chunks🎜🎜{?}🎜🎜가져와야 하는 리소스 모듈을 넣으세요🎜🎜🎜🎜excludeChunks🎜🎜{?}🎜🎜일부 리소스 모듈은 넣지 마세요🎜 🎜🎜🎜预期目标: 我的项目是一个多入口文件的项目,希望每一个入口页面引入对应的js模块和css
比如login页面引入login的js和css、index引入对应js和css
webpack.config.js
配置如下:
const path = require('path');const webpack = require('webpack')const ExtractTextPlugin = require("extract-text-webpack-plugin");const HtmlWebpackPlugin = require('html-webpack-plugin');const configs = { entry:{ 'commom':['./src/page/common/index.js'], 'index':['./src/page/index/index.js'], 'login':['./src/page/login/index.js'] }, output:{ path:path.resolve(__dirname, 'dist'), filename:'js/[name].js' }, module:{ rules:[ { test:/\.css$/, use:ExtractTextPlugin.extract({ fallback: "style-loader", use: "css-loader" }) } ] }, plugins:[ //独立通用模块 new webpack.optimize.CommonsChunkPlugin({ name : 'common', filename : 'js/base.js' }), //独立打包css new ExtractTextPlugin('css/[name].css'), //对html模板进行处理,生成对应的html,引入需要的资源模块 new HtmlWebpackPlugin({ template:'./src/view/index.html',//模板文件 filename:'view/login/index.html',//目标文件 chunks:['commom','login'],//对应加载的资源 inject:true,//资源加入到底部 hash:true//加入版本号 }) ] } module.exports= configs
然后打包结果如下
其中生成的目标文件:
相关推荐:
위 내용은 HTML 파일의 Webpack 처리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











HTML의 테이블 테두리 안내. 여기에서는 HTML의 테이블 테두리 예제를 사용하여 테이블 테두리를 정의하는 여러 가지 방법을 논의합니다.

HTML의 Nested Table에 대한 안내입니다. 여기에서는 각 예와 함께 테이블 내에 테이블을 만드는 방법을 설명합니다.

HTML 여백-왼쪽 안내. 여기에서는 HTML margin-left에 대한 간략한 개요와 코드 구현과 함께 예제를 논의합니다.

HTML 테이블 레이아웃 안내. 여기에서는 HTML 테이블 레이아웃의 값에 대해 예제 및 출력 n 세부 사항과 함께 논의합니다.

이 튜토리얼은 PHP를 사용하여 XML 문서를 효율적으로 처리하는 방법을 보여줍니다. XML (Extensible Markup Language)은 인간의 가독성과 기계 구문 분석을 위해 설계된 다목적 텍스트 기반 마크 업 언어입니다. 일반적으로 데이터 저장 AN에 사용됩니다

HTML에서 텍스트 이동 안내. 여기서는 Marquee 태그가 구문과 함께 작동하는 방식과 구현할 예제에 대해 소개합니다.

HTML 순서 목록에 대한 안내입니다. 여기서는 HTML Ordered 목록 및 유형에 대한 소개와 각각의 예에 대해서도 설명합니다.

HTML onclick 버튼에 대한 안내입니다. 여기에서는 각각의 소개, 작업, 예제 및 다양한 이벤트의 onclick 이벤트에 대해 설명합니다.
