当前位置: 首页 > news >正文

可以自己做网站吗php后台网站开发

可以自己做网站吗,php后台网站开发,私人衣橱网站建设,绵阳辉煌网站建设webpack基础 webpack 处理css兼容问题webpack 处理css闪屏问题webpack 优化压缩css代码总结webpack 两种开发模式webpack 基本的功能webpack配置 5概念devServer 生产环境webpack配置实例开发环境webpack配置实例webpack优化 webpack 处理css兼容问题 下载loader 引入 package… webpack基础 webpack 处理css兼容问题webpack 处理css闪屏问题webpack 优化压缩css代码总结webpack 两种开发模式webpack 基本的功能webpack配置 5概念devServer 生产环境webpack配置实例开发环境webpack配置实例webpack优化 webpack 处理css兼容问题 下载loader 引入 package.json修改 postcss-loader 可以处理css兼容问题 需要在css-loader 之后——其他cssloader 之前 引入package.json 添加数组 browserlist:[“ie8”,“1%”,“not dead”] 百分之99 还存在的浏览器 大于等于ie8 webpack 处理css闪屏问题 MiniCssExtractPlugin 使用插件的loader 将css文件以单文件link方式引入 避免出现闪屏现象 不使用style-loader使用MiniCssExtractPlugin.loader webpack 优化压缩css代码 CssMinimizerWebpackPlugin 下载安装 引入webpack 配置文件 直接在plugin中new CssMinimizerWebpackPlugin()提示默认生产环境下 js html 会自动压缩不需要额外的配置 总结 webpack 两种开发模式 开发模式代码能编译自动化运行 devServer 不用输出生产模式代码编译优化输出 webpack 基本的功能 开发模式可以编译 es module 语法生产模式可以编译 es module 语法 压缩js代码 webpack配置 5概念devServer entry、output、loader、plugins、mode 、devServer 生产环境webpack配置实例 const path require(path); //node.js核心模块专门用来处理路径问题 const os require(os); // Node.js的os模块是一个内置模块用于提供与操作系统相关的功能。 const ESLintPlugin require(eslint-webpack-plugin); const HtmlWebpackPlugin require(html-webpack-plugin); const MiniCssExtractPlugin require(mini-css-extract-plugin); // 将css文件以单文件link方式引入 避免出现闪屏现象const CssMinimizerPlugin require(css-minimizer-webpack-plugin); //css压缩 const TerserWebpackPlugin require(terser-webpack-plugin); //js压缩 const ImageMinimizerPlugin require(image-minimizer-webpack-plugin); //图片压缩 const PreloadWebpackPlugin require(vue/preload-webpack-plugin); //预加载当前页的资源const threads os.cpus().length;function getStyleLoader(pre) {return [// 将 JS 字符串生成为 style 节点//style-loader,//不使用style-loader 下面的这个会生成单个css文件 link引入 避免出现闪屏现象MiniCssExtractPlugin.loader,// 将 CSS 转化成 CommonJS 模块css-loader,// postcss-loader 能解决大部分css兼容问题{loader: postcss-loader,options: {postcssOptions: {plugins: [[postcss-preset-env,{// 其他选项},],],},},},pre,].filter(Boolean);//filter 过滤掉undefined null 等返回false的数组元素 }//启动命令 npx webpack --config ./config/webpack.prod.js // 生产模式 不需要devServer module.exports {// 入口entry: ./src/main.js, //相对路径// 输出output: {// 文件的输出路径// __dirname node.js的变量代表当前文件的文件夹目录path: path.resolve(__dirname, ../dist), // 绝对路径// 入口文件打包的文件名// filename: js/main.js, 下面的命名方式兼容多入口filename: js/[name].js,// 图片、字体等通过typeasset处理资源命名 可以统一定义在此处下面就不用写了//assetModuleFilename:media/[hash][ext][query]// code split给打包输出的其他名字命名chunkFilename: js/[name].chunk.js,clean: true, //自动清理上次打包的内容},//加载器module: {rules: [// loader的配置{oneOf: [// style-loader 将js中的css通过创建style标签添加html文件中生效// css-loader 将css资源编译成common.js的模块到js中{ test: /\.css$/, use: getStyleLoader() }, // use执行顺序 从右到左、从下到上{ test: /\.ts$/, use: ts-loader },{test: /\.s[ac]ss$/i,use: getStyleLoader(sass-loader),},{test: /\.(png|jpe?g|gif|webp|svg)$/,type: asset,parser: {dataUrlCondition: {// 不需要下载 loader webpack5内置处理// 小于10kb 的图片转base64// 优点 减少请求的数量 缺点 体积会大一点点maxSize: 10 * 1024, // 10kb},},generator: {//打包后指定图片路径// [hash:10] hash值取前十位filename: imgs/[hash][ext][query],},},{test: /\.(ttf|woff2?|mp3|mp4)$/,type: asset/resource, //转base64 用assetgenerator: {//打包后指定文字路径filename: media/[hash][ext][query],},},{test: /\.js$/,exclude: /(node_modules|bower_components)/,use: [{loader: thread-loader, // 开启多进程options: {works: threads, // 进程数},},{loader: babel-loader,// 下面对于babel的预设处理 可以写到babel.config.js 文件中 也可以在此处options: {// presets: [babel/preset-env],cacheDirectory: true, // 开启babel缓存cacheCompression: false, // 关闭缓存文件压缩plugins: [babel/plugin-transform-runtime], //减少代码体积},},],},],},],},//插件// plugin的配置plugins: [new ESLintPlugin({context: path.resolve(__dirname, ../src), //检查文件exclude: node_modules, //默认值cache: true, // 开启缓存cacheLocation: path.resolve(__dirname,../node_modules/.cache/eslintcache),threads, //开启多进程}),new HtmlWebpackPlugin({//模版以public/index.html文件为模版创建新的html文件//新的html文件特点1结构和原来一致2.自动引入打包输出的资源template: path.resolve(__dirname, ../public/index.html),}),new PreloadWebpackPlugin({rel: preload, //option:prefetchas: scrpit, //option:stylesheet/icon/next}),new MiniCssExtractPlugin({filename: css/[name].[contenthash:10].css,chunkFilename: css/[name].chunk.[contenthash:10].css,}),new ImageMinimizerPlugin({test: /\.(jpe?g|png|gif|svg)$/i, // 匹配要压缩的图像文件类型的正则表达式exclude: /node_modules/, // 排除哪些文件夹下的图像不参与压缩minimizer: {implementation: ImageMinimizerPlugin.imageminGenerate,options: {plugins: [[gifsicle, { interlaced: true }], // 使用gifsicle插件压缩gif图像[jpegtran, { progressive: true }], // 使用jpegtran插件压缩jpg图像[optipng, { optimizationLevel: 5 }], // 使用optipng插件压缩png图像[svgo,{plugins: [preset-default, // 使用svgo的默认插件集合压缩svg图像prefixIds, // 为svg元素添加唯一前缀防止id冲突{name: sortAttrs,params: {xminsOrder: alphabetical, // 按字母顺序排序svg属性},},],},],],},},}),// 下面两个插件可以放在这个位置// new CssMinimizerPlugin(),// new TerserWebpackPlugin({// parallel:threads //开启多进程并设置进程数// })],// 也可以放在这个位置 webp5 推荐压缩插件放在下面optimization: {minimizer: [//压缩cssnew CssMinimizerPlugin(),// 压缩jsnew TerserWebpackPlugin({parallel: threads, //开启多进程并设置进程数}),],splitChunks: {chunks: all,//其他都用默认值},//当缓存文件发生变化一般所有都更新加上这个只更新修改的文件其他缓存文件不变runtimeChunk: {name: (entrypoint) runtime~${entrypoint.name}.js,},},//模式mode: production,devtool: source-map, }; 开发环境webpack配置实例 const path require(path); //node.js核心模块专门用来处理路径问题 const os require(os);const ESLintPlugin require(eslint-webpack-plugin); const HtmlWebpackPlugin require(html-webpack-plugin); //编译时生成index.html const MiniCssExtractPlugin require(mini-css-extract-plugin); // 将css文件以单文件link方式引入 避免出现闪屏现象const threads os.cpus().length; //启动命令 npx webpack serve --config ./config/webpack.dev.jsmodule.exports {// 入口entry: ./src/main.js, //相对路径// 输出output: {// 文件的输出路径// 开发模式 没有输出path: undefined,// 入口文件打包的文件名filename: js/main.js,},// webpack 热更新 使用devServe后运行命令为 npx webpack serve ctrlc 终止批处理操作// 开发服务器不会输出资源在内存中编译打包devServer: {host: localhost,port: 4057,hot: true, // 表示启用热模块替换不用刷新整个页面open: true, //自动打开浏览器},//加载器module: {rules: [// loader的配置{oneOf: [// style-loader 将js中的css通过创建style标签添加html文件中生效// css-loader 将css资源编译成common.js的模块到js中{ test: /\.css$/, use: [MiniCssExtractPlugin.loader, css-loader] }, // use执行顺序 从右到左、从上到下{ test: /\.ts$/, use: ts-loader },{test: /\.s[ac]ss$/i,use: [// 将 JS 字符串生成为 style 节点MiniCssExtractPlugin.loader,// 将 CSS 转化成 CommonJS 模块css-loader,// 将 Sass 编译成 CSSsass-loader,],},{test: /\.(png|jpe?g|gif|webp|svg)$/,type: asset,parser: {dataUrlCondition: {// 不需要下载 loader webpack5内置处理// 小于10kb 的图片转base64// 优点 减少请求的数量 缺点 体积会大一点点maxSize: 10 * 1024, // 10kb},},generator: {//打包后指定图片路径// [hash:10] hash值取前十位filename: imgs/[hash][ext][query],},},{test: /\.(ttf|woff2?|mp3|mp4)$/,type: asset/resource, //转base64 用assetgenerator: {//打包后指定文字路径filename: media/[hash][ext][query],},},{test: /\.m?js$/,exclude: /(node_modules|bower_components)/,use: [{loader:thread-loader,options:{works:threads}},{loader: babel-loader,// 下面presets对于babel的预设处理 可以写到babel.config.js 文件中 也可以在此处options: {// presets: [babel/preset-env],cacheDirectory: true, // 开启babel缓存cacheCompression: false, // 关闭缓存文件压缩},},],},],},],},//插件// plugin的配置plugins: [new ESLintPlugin({context: path.resolve(__dirname, ../src), //检查文件cache:true,threads,}),new HtmlWebpackPlugin({//模版以public/index.html文件为模版创建新的html文件//新的html文件特点1结构和原来一致2.自动引入打包输出的资源template: path.resolve(__dirname, ../public/index.html),}),],//模式mode: development,devtool: cheap-module-source-map, }; webpack优化 webpack优化-见下篇
http://www.yutouwan.com/news/150727/

相关文章:

  • 黄岛网站建设哪家权威做瞹视频网站哪里看
  • 邯郸企业做网站报价怎么样做电影网站
  • 手机网站分页网站广告推广哪家好
  • 做犯法任务的网站会员卡管理系统价格
  • 株洲网站关键词优化山东网站方案
  • 网站设计对网站搜索引擎友好性的影响小学网站模板免费下载
  • 京东网站建设思维导图如何利用影视网站做cpa
  • 网站开发框架怎么写网站代搭建维护
  • 做情书直接点网站社群营销
  • 制作网站软件网站微信小程序模板使用
  • 扬州建设网站注册企业邮箱哪家最好
  • 衡水网站建设公司联系电话网站建设合同范本下载
  • 网络运营需要学什么专业重庆seo代理
  • 泰州模板建站代理自己制作手机app
  • 域名租赁网站山东省城乡建设部网站
  • 浙江网站搭建WordPress很快退出
  • 酷炫的网站欢迎页面莱芜一中贴吧
  • 旅行网站建设论文摘要广西网站开发
  • 网站开发个人总结wordpress 仿手机商城模板
  • 郑州网站制作免费免费网站建站排行榜
  • linux 国外网站网络推广怎么入门
  • 建行官网官网网站吗广州哪里有网站开发
  • 宝安营销型网站设计nas 建网站
  • 市场调研网站有哪些外贸网站做几种产品
  • 佛山外贸建站公司做网站制作的摘要
  • 云南专业建网站wordpress 更改主题
  • 源码下载网站cms安徽网站开发培训
  • 做好网站建设静态化如何将网站变成免费
  • 做了网站应该如何推广上海专业的网站建设公司
  • 微盟网站模板大学生网站开发文档