Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

PostHTML for Webpack

License

NotificationsYou must be signed in to change notification settings

posthtml/posthtml-loader

Repository files navigation

npmnodedepstestscoveragecode stylechat

PostHTML Loader

Install

npm i -D posthtml-loader

Usage

importhtmlfrom'./file.html'

webpack.config.js

module:{rules:[{test:/\.html$/,use:['html-loader',{loader:'posthtml-loader',options:{ident:'posthtml',parser:'PostHTML Parser',plugins:[/* PostHTML Plugins */require('posthtml-plugin')(options)]}}]}]},

Options

NameTypeDefaultDescription
config{Object}undefinedPostHTML Config
parser{String/Function}undefinedPostHTML Parser
skipParse{Boolean}falsePostHTML Options SkipParse
render{String/Function}undefinedPostHTML Render
plugins{Array/Function}[]PostHTML Plugins
sync{boolean}falsePostHTML Options Sync
directives{Array<Object>}[]PostHTML Options customDirectives

Config

NameTypeDefaultDescription
path{String}loader.resourcePathPostHTML Config Path
ctx{Object}{}PostHTML Config Context

If you want to use are shareable config file instead of inline options in yourwebpack.config.js create aposthtml.config.js file and place it somewhere down the file tree in your project. The nearest config relative todirname(file) currently processed by the loader applies. This enablesConfig Cascading. Despite some edge cases the config file will be loaded automatically andno additional setup is required. If you don't intend to use Config Cascading, it's recommended to placeposthtml.config.js in theroot./ of your project

src├── components│   ├──  component.html│   ├──  posthtml.config.js (components)├── index.html├── posthtml.config.js (index)└── webpack.config.js

Path

If you normally place all your config files in a separate folder e.g./config it is necessary to explicitly set the config path inwebpack.config.js

webpack.config.js

{loader:'posthtml-loader',options:{config:{path:'path/to/.config/'}}}

Context

NameTypeDefaultDescription
env{String}'development'process.env.NODE_ENV
file{Object}{ dirname, basename, extname }File
options{Object}{}Plugin Options (Context)

posthtml.config.js

module.exports=({ file, options, env})=>({parser:'posthtml-sugarml',plugins:{'posthtml-include':options.include,'posthtml-content':options.content,'htmlnano':env==='production' ?{} :false}})

webpack.config.js

{loader:'posthtml-loader',options:{config:{ctx:{include:{...options},content:{...options}}}}}

Parser

If you want to use a custom parser e.gSugarML, you can pass it in under theparser key in the loader options

{String}

webpack.config.js

{loader:'posthtml-loader',options:{parser:'posthtml-sugarml'}}

{Function}

webpack.config.js

{loader:'posthtml-loader',options:{parser:require('posthtml-sugarml')()}}

skipParse

If you want to use disable parsing, you can pass it in under theskipParse key in the loader options

{Boolean}

webpack.config.js

{loader:'posthtml-loader',options:{skipParse:false}}

Render

If you want to use a custom render, you can pass it in under therender key in the loader options

{String}

webpack.config.js

{loader:'posthtml-loader',options:{render:'posthtml-you-render'}}

{Function}

webpack.config.js

{loader:'posthtml-loader',options:{parser:require('posthtml-you-render')()}}

Plugins

Plugins are specified under theplugins key in the loader options

{Array}

webpack.config.js

{loader:'posthtml-loader',options:{plugins:[require('posthtml-plugin')()]}}

{Function}

webpack.config.js

{loader:'posthtml-loader',options:{plugins(loader){return[require('posthtml-plugin')()]}}}

Sync

Enables sync mode, plugins will run synchronously, throws an error when used with async plugins

{Boolean}

webpack.config.js

{loader:'posthtml-loader',options:{sync:true}}

Directives

If you want to use a custom directives, you can pass it in under thedirectives key in the loader options

{Array}

webpack.config.js

{loader:'posthtml-loader',options:{directives:[{name:'?php',start:'<',end:'>'}]}}

Maintainer


Michael Ciniawsky

Ivan Demidov

About

PostHTML for Webpack

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors7


[8]ページ先頭

©2009-2025 Movatter.jp