Home > Web Front-end > JS Tutorial > body text

webpack imports css and various loaders

不言
Release: 2018-07-09 17:32:46
Original
1389 people have browsed it

This article mainly introduces about webpack importing css and various loaders. It has certain reference value. Now I share it with everyone. Friends in need can refer to it

webpack imports css

1) Download the relevant loader npm install style-loader css-loader -D

2) Introduce index.css into main.js

import './css/index.css'
Copy after login

3) Configure webpack.config.js

Use module attribute

const path = require('path')

module.exports = {
    mode: 'development',
    entry:path.join(__dirname,'./src/main.js'),//打包的那个文件    output:{
        path:path.join(__dirname,'./dist'),
        filename :'bundle.js'
    },
    devServer:{
        open:'true',
        port:'8081',
        contentBase:'src'
    },    module:{
        rules:[
            test: {'/\.css$/',use['style-loader','css-loader']}
        ]
    }}
Copy after login

Restart running `npm run dev`

2. Webpack imports images

Since importing images requires the use of url addresses, you need to introduce `url-loader` and `file-loader` ( `file-loader` depends on `url-loader` So it needs to be introduced together)

npm i url-loader file-loader -D

.box{
  background-image:url('../Images/1.jpg')  
}
Copy after login

Configure webpack.config.js

module:{ 
    rules:[ 
        {test:/\.css$/,use:['style-loader','css-loader']},        {test:/\.(jpg|png|gif|bmp|jpeg)$/,use: url-loader?limit=4000&name=[hash:8]-[name].[ext]' },     //如果图片大于limit的大小则不会被解析成base64
        //name设置是否重命名图片,  [name].[ext]是保持引入的时候的图片的名字,[hash:8]-[name].[ext]是自动在图片原名前加一个随机的hash值,防止图片重复
        ]
}
Copy after login

3. Introduction of babel

in webpack For advanced ES6 syntax that some browsers do not recognize, use `babel` to convert

npm install babel-core babel-loader babel-plugin-transform-runtime -D //Conversion tool

npm install babel-preset-env babel-preset-stage -0 -D //Syntax

Configure in webpack.config.js

<span style="color: #000000">module:{ 
  rules:[       <span style="color: #ff0000"> {test:</span></span><span style="color: #ff0000">/\.js$/,use:&#39;babel-loader&#39;,<strong>exclude</strong>:/node_modules/</span><span style="color: #000000"><span style="color: #ff0000">}</span>
        //exclude是去掉不需要转换的包 <br/>  ]
}</span>
Copy after login

Create a new `.babelrc in the root directory of the project ``babel` configuration file (JSON format, needs to comply with JSON specification)

{    "plugins":["transform-runtime"],    "presets":["env","stage-0"]
}
Copy after login

4. When using templates in webpack, you need to parse the .vue file

npm install vue-loader vue-template-compiler -D

Configuration in webpack.config.js

const VueLoaderPlugin = require(&#39;vue-loader/lib/plugin&#39;);module.exports = {
  plugins:[
    new VueLoaderPlugin(),
  ],  module:{
    rules:[
      {test:/\.vue$/,use:&#39;vue-loader&#39;},
    ]  
  },
}
Copy after login

High version When webpack uses vue-loader, you need to configure the plug-in (the blue part)

The above is the entire content of this article. I hope it will be helpful to everyone's learning. For more related content, please pay attention to the PHP Chinese website!

Related recommendations:

Mobile date and selection plug-in mobiscroll

Usage of bootstrap-datatimepicker plug-in

The above is the detailed content of webpack imports css and various loaders. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!