require

AMD规范

蓝咒 提交于 2020-01-27 07:52:01
common.js主要语法就是 var math=require('math'); math.add(2,3); require()用于加载模块就行了。 二行math.add(2, 3),在第一行require('math')之后运行,因此必须等math.js加载完成。也就是说,如果加载时间很长,整个应用就会停在那里等。 这对服务器端不是一个问题,因为所有的模块都存放在本地硬盘,可以同步加载完成,等待时间就是硬盘的读取时间。但是,对于浏览器,这却是一个大问题,因为模块都放在服务器端,等待时间取决于网速的快慢,可能要等很长时间,浏览器处于"假死"状态。 因此,浏览器端的模块,不能采用"同步加载"(synchronous),只能采用"异步加载"(asynchronous)。这就是AMD规范诞生的背景。 AMD全称Asynchronous,意思就是"异步模块定义“”,用于异步加载,回调函数加载完需要的模块再来加载自定义语句,即它采用异步方式加载模块,模块的加载不影响它后面语句的运行。所有依赖这个模块的语句,都定义在一个回调函数中,等到加载完成之后,这个回调函数才会运行。 将上面的require()函数修改为AMD规范即是 require(['math'],function(math){ math.add(2,3)}) math.add()与math模块加载不是同步的,浏览器不会发生假死

nodejs之express4x

孤街醉人 提交于 2020-01-27 04:36:29
学习node好榜样!前阵子看了php,那个模块化编译真的好棒。然而php学习起来不是一般的记不住,毕竟和js还是有不同的。于是转移到了node。看到熟悉的js脚本,心里踏实多了。 话不多讲,php我也是要驾驭的,只是要排到后面去了。今天先来个基于node的框架之express4的模板实例 官网api:http://www.expressjs.com.cn/4x/api.html 1.首先,全局安装。 npm install -g express-generator@4 2.检测安装结果 express --version 3.创建项目,这里我选择d盘node文件夹,安装框架模板。 express -e nodeDemo 4.进入项目安装依赖 cd nodeDemo && npm install 5.运行项目,如果不知道运行命令是啥,打开项目根目录下‘package.json’文件,查看scripts对象里默认第一个的属性名,这个模板里叫start。 npm start 6.运行之后,打开项目根目录下的bin文件夹里的www.js,查看这一句代码:‘var port = normalizePort(process.env.PORT || '3000');’3000就是端口号。基于node服务器本机ip原则。在浏览器输入。 localhost:3000 或者 127.0.0.1

wamp 3.0.6(apache 2.4.23) 403 forbidden 解决办法

我的未来我决定 提交于 2020-01-27 03:58:12
最近为了使用laraval框架,将wamp 升级到了比较高的版本,相应的apache也升级到了 2.4.23. larval是使用的挺好的,原来的apache倒是出现了问题:同一个局域网内,别人机器不能访问我的站点。 研究了半天,终于找到方法: 1.防火墙关闭 2.修改 apache 的 httpd.con f文件,将其中的 Require local 修改成 Require all granted .这个是2.4之后新的处理方法,之前的方法不管用了。如图: 3.修改 httpd-vhosts.conf. 找到 <VirtualHost *:80>节点上的所有虚拟站点,将其中的 Require local 都改成 Require all granted 。如图: 最后重启服务。 来源: https://www.cnblogs.com/airbreak/p/6369764.html

使用requireJs进行模块化开发

删除回忆录丶 提交于 2020-01-26 17:37:08
requireJs使用 requireJs 使用require.js的第一步,是先去官方网站下载最新版本。 下载后,假定把它放在js子目录下面,就可以加载了。 <script src="js/require.js"></script> 有人可能会想到,加载这个文件,也可能造成网页失去响应。解决办法有两个,一个是把它放在网页底部加载,另一个是写成下面这样:  <script src="js/require.js" defer async="true" ></script> async属性表明这个文件需要异步加载,避免网页失去响应。IE不支持这个属性,只支持defer,所以把defer也写上。 加载require.js以后,下一步就要加载我们自己的代码了。假定我们自己的代码文件是main.js,也放在js目录下面。那么,只需要写成下面这样就行了:  <script src="js/require.js" data-main="js/main"></script> data-main属性的作用是,指定网页程序的主模块。在上例中,就是js目录下面的main.js,这个文件会第一个被require.js加载。由于require.js默认的文件后缀名是js,所以可以把main.js简写成main。 主模块的写法 上一节的main.js,我把它称为"主模块",意思是整个网页的入口代码

webpack概念

大兔子大兔子 提交于 2020-01-26 10:53:22
官网:http://www.css88.com/doc/webpack2/concepts/ webpack是js的模块打包器(module bundler)。 入口(Entry) webpack将创建所有应用程序的依赖关系图标(dependency graph)。 入口起点(entry point):图表的起点。 根上下文(contextual root) app第一个启动文件 。 入口起点告诉webpack从哪里开始,遵循依赖图表打包文件。 webpack中使用webpack配置对象的entry属性定义入口。 单个入口(简写)语法 用法: entry: string | Array<string> webpack.config.js 1 module.exports = { 2   entry: './path/to/my/entry/file.js' 3 }; 4 module.exports = config; entry属性的单个入口语法,是下面的简写: 1 module.exports = { 2   entry: { 3 main: './path/to/my/entry/file.js' 4 } 5 }; 向entry传入一个数组会发生什么?将创建多个入口。 对象语法 用法:entry: {[entryChunkName: string]: string |

webpack dll打包优化

本小妞迷上赌 提交于 2020-01-26 09:55:31
最近一直在学习一些webpack,所以综合了一下关于dll 打包优化的方法,应用到自己的项目中!当然百度搜索出来一推,大佬的文章数不胜数。咱们也得跟紧潮流不是,所以记录一下,赶紧用自己项目试试!(大佬勿喷) 一. 优化前的打包 ; 公司项目不算是很大,打包看看时间! 打包速度: 21384ms ,21秒左右 二. 优化后的打包 ; 安装:cnpm install add - asset - html - webpack - plugin@ 2.1 .2 在bulid文件夹新建文件 ** webpack.dll.conf.js ** const path = require ( 'path' ) const webpack = require ( 'webpack' ) const OptimizeCSSAssetsPlugin = require ( 'optimize-css-assets-webpack-plugin' ) const UglifyJsPlugin = require ( 'uglifyjs-webpack-plugin' ) module . exports = { entry : { vendor : [ 'axios' , 'vue' , 'vue-router' , 'vuex' , 'iview' , //添加需要缓存的模块和插件 ] } ,

Express: How to require a file in node js express and pass a parameter value to it?

风流意气都作罢 提交于 2020-01-25 08:42:27
问题 This question has a big relation with How to require a file in node.js and pass an argument in the request method, but not to the module? -- Question. I have a node js Express app. when visitor visits http://localhost/getPosts , the main node js file requires ./routes/posts file and sends a database connection to the required file. app.use('/getPosts', require('./routes/posts')(myDatabase)); the content of ./routes/posts file is given below: var express = require('express'); var router =

koa与node.js开发实践

雨燕双飞 提交于 2020-01-25 08:32:42
koa与node.js开发实践要点 node.js入门 npm koa 基础(在基础视频中补充) koa 的安装与搭建 Context对象 ctx.request get请求 post请求获取参数 ctx.response ctx.state ctx.cookies ctx.throw koa 的中间件洋葱模型 如果将多个中间件组合成一个单一的中便于重用或导出,可以使用koa-compose 常用Koa中间件介绍 koa-bodyparser中间件 koa-router中间件 koa-router 的安装和介绍 restful规范 koa-router 用法 基本用法 all方法设置跨域 await next() 其他特征 命名路由 多中间件 嵌套路由 路由前缀 URL参数 通过koa-router 来实现接口权限控制(JWT) http 完整的url 常用的HTTP状态码 9种http请求方法 常用的HTTP首部字段(待补) querystring模块 querystring模块的使用 引入 第一种方法 escape 对传入的字符串进行编码 第二种方法 unescape对传入的字符串进行解码 第三种方法 parse, 将传入的字符串反序列化为对象 第三种方法 stringify, 将传入的字符串反序列化为对象 koa-router中的querystring 构建koa Web应用

Lua中的loadfile、dofile、require详解

核能气质少年 提交于 2020-01-25 05:19:43
本文转载自jb51.net/article/55125.htm 更新时间:2014年09月13日 11:37:04 作者:笨木头 这篇文章主要介绍了Lua中的loadfile、dofile、require详解,本文分别用实例讲解它的用法和特点等内容,需要的朋友可以参考下 本来今天不应该讨论这几个函数的,不过,为了凑字数..不,为了方便以后的文章,还是要谈谈这几个基础函数的~ 1.loadfile——只编译,不运行 loadfile故名思议,它只会加载文件,编译代码,不会运行文件里的代码。 比如,我们有一个hellofile.lua文件: 复制代码 代码如下: print(“hello”); function hehe() print(“hello”); end 这个文件里有一句代码,和一个函数。试试用loadfile加载这个文件,如下代码: 复制代码 代码如下: loadfile("hellofile.lua"); print("end"); 输出结果如下: 复制代码 代码如下: [LUA-print] end 如果说loadfile会执行文件里的代码的话,那么,应该会输出hello字符串的。 结果表明,它是不会执行代码的。 2.dofile——执行 很明显,dofile就是会执行代码的家伙了,如下代码: 复制代码 代码如下: dofile("E:/Android

How to config webpack - libraryTarget + splitChunks + requaire in borwser

回眸只為那壹抹淺笑 提交于 2020-01-25 04:06:44
问题 I'm writing libs for web pages in JS and "compile" it by Webpack. I need import/require (like requirejs) these libs on pages that are in separate Webpack projects. Libs can be hosted on two separate paths - one is relative and the second is absolute. How I have to config webpacks to export libs that can be import/require in another project? I tried umd, amd, window, this, etc. libraryTarget and in all cases, responses for require is undefined or throw an error. My libs webpack config: const