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

北京网站改版多少钱/长沙seo优化首选

北京网站改版多少钱,长沙seo优化首选,腾讯云wordpress安装教程,mediwiki 做网站概览 使用webpack后,模块化开发中,模块的写法 系统环境 安装nodejs nodejs下载地址:https://nodejs.org 安装完成后打开命令行控制台。输入node -v查看版本。如果正常显示,表示nodejs安装成功。否则需要配置系统全局变量。 如何安装nodejs和配置环境变量…

概览

使用webpack后,模块化开发中,模块的写法

系统环境

安装nodejs

nodejs下载地址:https://nodejs.org

安装完成后打开命令行控制台。输入node -v查看版本。如果正常显示,表示nodejs安装成功。否则需要配置系统全局变量。
如何安装nodejs和配置环境变量请参见这里。

安装webpack

安装nodejs后,打开控制台,执行npm命令即可。

> npm install -g webpack

创建模块

基于CommonJs的模块

基于CommonJs的模块写法与nodejs是一致的.写模块时,使用require引入其他模块,使用exports或者module.exports将模块的API暴露出来.

/*
ModuleA
*/
function ModuleA() {}
ModuleA.prototype.fn1 = function() {};
ModuleA.prototype.fn2 = function() {};module.exprots = ModuleA;
/*
moduleB
*///引用moduleA,引用路径为相对路径
var ModuleA = require('./moduleA');//因为moduleA是class,需要使用new实例化后才能使用
var moduleAInstance = new ModuleA();//调用moduleA实例的方法
moduleAInstance.fn1();
moduleAInstance.fn2();

但是也不是完全相同.尽管与nodejs一样都使用的CommonJs规范书写模块,由于是预编译机制,在编译时,需要将可能用到的模块一次性全部打包进来.所以在书写前端模块时,我们需要将用到的模块直接按字面量引入,不要使用if...else或者动态赋值的方式动态引入模块.这点与nodejs是有区别的.

不好的用法:


//这种用法不会引起错误,但是会引起困惑,让其他人以为可以动态加载模块
var module;
if(a) {module = require('./moduleA');
} else {module = require('./moduleB');
}

错误的用法:

//经过计算的动态变量作为模块名来引入模块,会导致错误
var vars = 'abcde';
var vars2 = vars.slice(0,2); //计算
var module = require(vars2);

推荐的用法:

//在模块头部一次性引入用到的模块
var moduleA = require('./moduleA');
var moduleB = require('./moduleB');
var moduleC = require('./moduleC');
//...load more modules...//do something with loaded modules

基于es6的模块(使用import,export导入模块)

webpack支持丰富的扩展机制,babel也为webpack提供了插件支持.通过使用babel的webapck loader插件,我们可以编写es6的javascript代码,然后使用babel编译输出为es5的javascript代码.
我们这里主要说明的是es6的模块加载机制在模块化中的使用.使用es6的import和export关键字后,我们的模块就可以写成这样:

/*
moduleA
*/function ModuleA() {}
ModuleA.prototype.fn1 = function() {};
ModuleA.prototype.fn2 = function() {};//使用export关键字,将ModuleA曝露给外部使用
export default ModuleA;
/*
moduleB
*///使用import关键字引入moduleA
import ModuleA from './moduleA';//因为moduleA是class,需要使用new实例化后才能使用
var moduleAInstance = new ModuleA();//调用moduleA实例的方法
moduleAInstance.fn1();
moduleAInstance.fn2();

上述两种模块化写法,相比seajs和requirejs,少了对define()的依赖,在书写模块时,能够提供了不少便利.

第三方库的引用

引用第三方库时,有两种方法引用第三方库:一种是直接写库的相对路径;一种是在配置文件中为库配置别名.

//第一种用法,输入第三方库相对此模块的文件相对路径,当模块在项目中处于比较深的文件结构的时候,写起来会比较麻烦
var $ = require('../../../../jquery/dist/jquery.min');//第二种方法,在模块化加载器中配置别名,指定模块的文件路径
//比如将jquery的路径为别名后,直接使用别名即可
//如果set alias jquery /libs/jquery/dist/jquery.min
//require('jquery')与require('/libs/jquery/dist/jquery.min')是等效的
//不同的模块加载器的配置方式有区别,这里是伪代码,你懂的
var $ = require('jquery');

一般第二种方式用的比较多.

后面会讲解如何用webpack搭建一个完整的模块化项目,这里先不展开.

延伸阅读

CommonJs规范

ES6入门指南

如果觉得有用,请点个赞支持我!

转载于:https://www.cnblogs.com/paseo/p/4763078.html

http://www.lbrq.cn/news/1036081.html

相关文章:

  • 恩施有做网站的吗/杭州网站排名提升
  • 做名片素材网站/google play下载安装
  • 用哪个软件做网站/广州网站关键词排名
  • wordpress图片站点/如何联系百度推广
  • 为什么招聘网站做不大/广州网站维护
  • 怎么查看什么公司做的网站/淘宝推广哪种方式最好
  • 做陶瓷的公司网站/站长网站查询工具
  • b2b模式的网站/免费网站外链推广
  • 东明网站建设/网络营销解释
  • 网络推广优化seo/什么是seo搜索引擎优化
  • 电子商务网站设计原理知识点/免费个人网站注册
  • 网站 免费 托管运营/手机建站
  • 番禺网站建设平台/网站建设知名公司
  • 怎么样创建做零食山楂的网站/seo1域名查询
  • 郑州网站推广价格信息/网站收录免费咨询
  • 营销网站制作图片/百度知道官网入口
  • 网站怎样做的/长沙seo优化排名
  • 像素点建网站/免费推广seo
  • 移动公司营销网站设计/西安优化网站公司
  • 官网建设公司/免费seo提交工具
  • 做微商推广有哪些好的分类信息网站/国外推广网站有什么
  • 微信如何做微商城网站/樱桃磁力bt天堂
  • 邢台开发区建设小学官方网站/中文搜索引擎大全
  • 个人网站做电商/做个公司网站多少钱
  • 企业做网站建设/免费网站推广网站破解版
  • 同ip下网站/一个新公众号怎么吸粉
  • 如何做拼多多商城官网站/自媒体视频发布平台
  • mui做的h5网站案例/自媒体引流推广
  • 网站怎么做seo排名/卢镇seo网站优化排名
  • 中医网站开发/seo技巧
  • 记某一次仿真渗透测试
  • Go 语言函数详解:从基础到高阶的行为逻辑构建
  • 串口通信“第二次总超时”的复盘
  • 农业智慧大屏系统 - Flask + Vue实现
  • Vue 3 + Elementui + TypeScript 实现左侧菜单定位右侧内容
  • 【软考中级网络工程师】知识点之 IP QoS 技术