达内IT教育-昆明校区
4000336031

位置:搜学搜课 > 新闻 > 昆明学web前端技术哪家好

web前端培训

Web前端全栈 应运而生 前景光明

科技从未停下前进的脚步,Web前端全栈式强势来袭!

了解更多web前端详情

达内Web前端课程 紧跟时代步伐

前端课程全面升级为Web前端全栈式

  • 课程升级 —— 课程结合了前端H5,后端node.JS和移动端APP开发
  • 实时更新 —— 达内课程实时更新,融合时下前沿技术热点
  • 项目实战 —— 主流项目贯穿课程,讲师手把手指导突破50000行代码
  • 自主项目 —— 真实部署,自命题醒目,独立完成自命题项目
  • 企业接轨 —— 课程以就业为导向,企业的要求就是我们的重点

达内Web前端课程, 源自企业需求

科技从未停下前进的脚步,Web前端全栈式强势来袭!

  • 阶段
  • WEB开发基础
  • 数据库、 H5 基础、WEB SERVR、核心、Ajax
  • 第二阶段
  • WEB核心技术
  • CSS3、H5、Js、 jQuery DOM编程
  • 第三阶段
  • WEB前端进阶
  • Bootstrap、VueJS、AngularJS

  • 第四阶段
  • 移动端开发
  • Web APP、微信开发、 React.js Native"、混编APP 框架
  • 第五阶段
  • WEB全栈进阶
  • node.js、 常用JS 框架

  • 辅导计划
  • Node.Js辅导
  • MongoDB、Node.js

课程详情

Web前端项目驱动教学 所需即所学,所学即所用

参与企业真实的项目积累实战经验

  • 真实商业项目
  • 真实企业项目实战,成立项目专项小组,团队完成。
  • 课程贯穿
  • 企业核心项目贯穿全课程,培养Web大局观
  • 项目部署上线
  • 云服务器真实部署,项目上线,投入使用。
  • 接轨企业
  • 真实对接企业,标准化,规范化,流程化的工作流。
  • 50000行代码
  • 实战讲师手把手教学,完成50000行代码。
  • 自主项目
  • 学员自主完成3个不低于10000行代码的项目。

通过学习你也可以拿出这样的作品

用作品说话,让你的简历丰富多彩

  • Visfocus
  • 基于swiper插件实现页面的整屏显示,轮播和切换,可通过菜单栏和右侧切换图标进行页面切换

  • 效果预览
  • 八戒网
  • 基于html+css布局,定位与浮动,原生js制作选项卡等内容,实现不同模块形式显示,文字的交互效果,导航切换,较终实现电商平台首页。
  • 效果预览
  • BRTV
  • 基于css3, media媒体查询实现响应式布局,搭建企业整个网站,实现轮播图切换,导航栏切换,切入子页面,页面动态效果等。
  • 效果预览
更多作品预览

Web前端项目驱动教学 所需即所学,所学即所用

参与企业真实的项目积累实战经验

讲师团阵容豪华 云集实战讲师

从实战中走出的讲师,传授真实项目经验

  • 王春梅
  • Web前端课程总监

  • 哈尔滨工业大学硕士,曾任用友软件股份有限公司前经验丰富项目经理,具备多年的的软件设计和开发经验,作为项目经理和主要设计人员,主持开发过多个产品,具有丰富的产品和项目的实战经验和管理经验。
  • 赵旭
  • 达内集团互联网技术讲师
  • 曾工作于吉林省统计局、启明信息技术有限公司、日本インタセクト株式会社等机构担任系统开发工程师、前端开发工程师等工作。具备多年互联网程序开发经验。多年Java EE /.NET / Html + Css /Javascript/ jQuery / Ajax技术的开发及授课经验。
  • 张东
  • 达内集团JavaScript讲师
  • 美国PMP认证项目经理,微软认证解决方案开发讲师。先后在中软国际、中国搜索、太极计算机担任开发工程师,架构师,项目经理。曾担任中央外汇管理中心、中国石油、二炮工程研究院、首都国际机场技术咨询顾问。
  • 杨燕
  • 达内集团Web技术讲师
  • 多年互联网领域研发经验,包括商务网站、管理系统、移动应用等研发经验。曾参与 研发的项目涉及领域包括航天系统、总参谋部队、华北电网等,并在大唐电信任职工程师期间积累了丰富的教学实战经验。
更多讲师在线咨询
新闻详情

昆明学web前端技术哪家好

来源:达内IT教育-昆明校区时间:2019/10/20 11:29:12 浏览量:311


今天小编要跟大家分享的文章是关于Web前端新手你会webpack吗?Webpack已经流行好久了,但很多同学使用webpack时还是一头雾水,一下看到那么多文档、各种配置、各种loader、plugin立马就晕头转向了。我也不例外,以至于很长一段时间对webpack都是一知半解的状态。但是想要继续做好前端,webpack是必须得跨过的一道坎,其实掌握webpack并不难,只是我们没有找到正确的方法。下面就来和小编一起看一看这篇文章学习一下webpack吧。

一、什么是webpack?

一句话概括:webpack是一个模块打包工具(module bundler)。

重点在于两个关键词“模块”和“打包”。什么是模块呢?我们回顾一下曾经的前端开发方式,js文件通过script标签静态引入,js文件之间由于没有强依赖关系,如果文件1要用到文件2的某些方法或变量,则必须将文件1放到文件2后面加载。随着项目的增大,js文件之间的依赖关系越发错综复杂,维护难度也越来越高。这样的困境驱使着前端工程师们不断探索新的开发模式,从后端、app的开发模式中我们获得灵感,为什么不能引入“模块”的概念让js文件之间可以相互引用呢?模块1要使用模块2的功能,只需要在该模块1中明确引用模块2就行了,而不用担心它们的排列顺序。基于这种理念,CommonJS和 AMD规范被创造了出来,然后有了require.js、system.js这样的前端模块加载工具和node的模块系统,直到现在流行的es6 module。

模块的引入解决了文件之间依赖引用的问题,而打包则解决了文件过多的问题。当项目规模增大,模块的数量数以千计,浏览器如果要加载如此多的文件,页面加载的速度势必会受影响,而bundler可以把多个关联的文件打包到一起从而大量减少文件的数量提高网页加载性能。提供模块化的开发方式和编译打包功能就是webpack的核心,其他很多功能都围绕它们展开。

二、核心概念

1、Module(模块)

对于webpack,模块不仅仅是javascript模块,它包括了任何类型的源文件,不管是图片、字体、json文件都是一个个模块。Webpack支持以下的方式引用模块:

·     ES2015 import 方法

·     CommonJs require() 方法

·     AMD define 和 require 语法

·     css/sass/less文件中的 @import 语法

·     url(...) 和<img src=...> 中的图片路径


2、Dependency Graph(依赖关系图)

所谓的依赖关系图是webpack根据每个模块之间的依赖关系递归生成的一张内部逻辑图,有了这张依赖关系图,webpack就能按图索骥把所有需要模块打包成一个bundle文件了。

3、Entry(入口)

绘制依赖关系图的起始文件被称为entry。默认的entry为 ./src/index.js,或者我们可以在配置文件中配置。entry可以为一个也可以为多个。

单个entry:

module.exports = {
  entry: './src/index.js'
}

或者

module.exports = {
  entry: {
    main: './src/index.js'
  }
};

多个entry,一个chunk

我们也可以指定多个独立的文件为entry,但将它们打包到一个chunk中,此种方法被称为 multi-main entry,我们需要传入文件路径的数组:

module.exports = {
  entry: ['./src/index.js', './src/index2.js', './src/index3.js']
}

但是改种方法的灵活性和扩展性有限,因此并不推荐使用。

多个entry,多个chunk

如果有多个entry,并且每个entry生成对应的chunk,我们需要传入object:

module.exports = {
  entry: {
    app: './src/app.js',
    admin: './src/admin.js'
  }
};

这种写法有好的灵活性和扩展性,支持和其他的局部配置(partial configuration)进行合并。比如将开发环境和生产的配置分离,并抽离出公共的配置,在不同的环境下运行时再将环境配置和公共配置进行合并。

4、Output(出口)

有了入口,对应的就有出口。顾名思义,出口就是webpack打包完成的输出,output定义了输出的路径和文件名称。Webpack的默认的输出路径为 ./dist/main.js。同样,我们可以在配置文件中配置output:

module.exports = {
  entry: './src/index.js',
  output: {
    path: __dirname + '/dist',
    filename: 'bundle.js'
  }
};

多个entry的情况

当有多个entry的时候,一个entry应该对应一个output,此时输出的文件名需要使用替换符(substitutions)声明以确保文件名的性,例如使用入口模块的名称:

module.exports = {
  entry: {
    app: './src/app.js',
    search: './src/search.js'
  },
  output: {
    filename: '[name].js',
    path: __dirname + '/dist'
  }
}

终在 ./dist 路径下面会生成 app.js和search.js两个bundle文件。

5、Loader(加载器)

Webpack自身只支持加载js和json模块,而webpack的理念是让所有的文件都能被引用和加载并生成依赖关系图,所以loader出场了。Loader能让webpack能够去处理其他类型的文件(比如图片、字体文件、xml)。我们可以在配置文件中这样定义一个loader:

webpack.config.js

module.exports = {
  module: {
    rules: [
      { 
        test: /\.txt$/, 
        use: 'raw-loader' 
      }
    ]
  }
};

其中test定义了需要被转化的文件或者文件类型,use定义了对该文件进行转化的loader的类型。该条配置相当于告诉webpack当遇到一个txt文件的引用时(使用require或者import进行引用),先用raw-loader转换一下该文件再把它打包进bundle。

还有其他各种类型的loader,比如加载css文件的css-loader,加载图片和字体文件的file-loader,加载html文件的html-loader,将JS语法转换成ES5的babel-loader等等。完整列表请参考 webpack loaders。

6、Plugin(插件)

Plugin和loader是两个比较混淆和模糊的概念。Loader是用来转换和加载特定类型的文件,所以loader的执行层面是单个的源文件。而plugin可以实现的功能更强大,plugin可以监听webpack处理过程中的关键事件,深度集成进webpack的编译器,可以说plugin的执行层面是整个构建过程。Plugin系统是构成webpack的主干,webpack自身也基于plugin系统搭建,webpack有丰富的内置插件和外部插件,并且允许用户自定义插件。列出的插件有 这些。

与loader不同,使用plugin我们必须先引用该插件,例如:

const webpack = require('webpack'); // 用于引用webpack内置插件
const HtmlWebpackPlugin = require('html-webpack-plugin'); // 外部插件

module.exports = {
  plugins: [
    new webpack.HotModuleReplacementPlugin(),
    new HtmlWebpackPlugin({template: './src/index.html'})
  ]
};

 

三、实践

了解webpack的基本概念之后,我们通过实践来加深理解。接下来,我们使用webpack搭建一个简易的react脚手架。

1、创建项目

首先创建react-webpack-starter项目并使用 npm init 初始化。

2、安装依赖

安装react

npm i react react-dom

安装webpack相关

npm i -D webpack webpack-cli webpack-dev-server html-webpack-plugin style-loader css-loader

安装webpack-cli后可以在命令行中执行webpack命令;webpack-dev-server提供了简易的web服务器,并且在修改文件之后自动执行webpack的编译操作并自动刷新浏览器,省去了重复的手动操作;html-webpack-plugin用于自动生成index.html文件,并且在index.html中自动添加对bundle文件的引用;style-loader和css-loader用于加载css文件。

安装babel相关

由于react中使用了class, import这样的es6的语法,为了提高网站的浏览器兼容性,我们需要用babel转换一下。

npm i -D @babel/core @babel/preset-env @babel/preset-react babel-loader 

其中@babel/core是babel的核心模块,包含了babel的核心功能;@babel/preset-env支持转换ES6以及更新的js语法,并且可根据需要兼容的浏览器类型选择加载的plugin从而精简生成的代码;@babel/preset-react包含了babel转换react所需要的plugin;babel-loader是webpack的babel加载器。

3、配置webpack

在项目根目录下面新建webpack.config.js,内容如下:


webpack.config.js

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

module.exports = {
  entry: './src/index.js',
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js'
  },
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_module/,
        use: 'babel-loader'
      },
      {
        test: /\.css$/,
        use: ['style-loader', 'css-loader'] // 注意排列顺序,执行顺序与排列顺序相反
      }
    ]
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: './src/index.html'
    })
  ]
}

其中HtmlWebpackPlugin使用自定义的模版来生成html文件,模版的内容如下:

./src/index.html


<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>My React App</title>
</head>
<body>
  <div id="app"></div>
</body>
</html>

配置babel

在项目根目录下面新建.babelrc文件,配置我们安装的两个babel preset:

.babelrc

{
  "presets": [
    "@babel/preset-env",
    "@babel/preset-react"
  ]
}

生成react应用根节点

./src/index

import React from 'react';
import ReactDOM from 'react-dom';
import App from './components/App';

ReactDOM.render(<App />, document.getElementById('app'));

./src/component/App.js

import React, { Component } from 'react';
import './App.css';

export default class App extends Component {
  render() {
    return (
      <div>
        my react webpack starter
      </div>
    )
  }
}

./src/components/App.css

body{
  font-size: 60px;
  font-weight: bolder;
  color: red;
  text-transform: uppercase;
}

4、配置 package.json

后,在package.json文件里面加上两个scripts,用来运行开发服务器和打包:

package.json

"scripts": {
  "start": "webpack-dev-server --mode development --open --hot",
  "build": "webpack --mode production"
}

注意,我们启用了webpack-dev-server的模块热更新功能(HMR),进一步提高我们的开发效率。

到此一个简版本的react脚手架就搭建完成了,我们运行一下看看效果:


以上就是小编今天为大家分享的关于Web前端新手你会webpack吗?

的文章,希望本篇文章能够对web前端新手有所帮助。想要了解更多web相关知识记得关注达内web培训。后祝愿小伙伴们工作顺利!

本文原载于SegmentFault专栏“半路出家老菜鸟”,作者:MudOnTire

【免责声明:本文图片及文字信息均由小编转载自网络,旨在分享提供阅读,版权归原作者所有,如有侵权请联系我们进行删除。】


尊重原创文章,转载请注明出处与链接:http://www.soxsok.com/wnews88046.html 违者必究! 以上就是关于“昆明学web前端技术哪家好”的全部内容了,想了解更多相关知识请持续关注本站。

温馨提示:为不影响您的学业,来 昆明h5培训 校区前请先电话或QQ咨询,方便我校安排相关的专业老师为您解答
教学环境
  • 教学环境

    教学环境

  • 教学环境

    教学环境

  • 教学环境

    教学环境

预约申请
  • * 您的姓名
  • * 联系电话
  • * 报名课程
  •   备注说明
提交报名
版权所有:搜学搜课(www.soxsok.com) 技术支持:搜学搜课网