require

利用requirejs实现vue的模块化开发

做~自己de王妃 提交于 2020-02-05 04:27:46
通常vue都是搭配webpack+vue-cli使用的 如果不在nodejs环境下开发web应用呢? 这里提出一个解决方案: 1、加载requirejs,并且指定main函数 <script data-main="js/main" src="https://cdn.bootcss.com/require.js/2.3.5/require.min.js"></script> 2、定义main函数 require.config({ paths: { "text": 'https://cdn.bootcss.com/require-text/2.0.12/text.min', 'vueLoader': 'componentLoader', 'article': '../components/article', 'color': '../components/dialog/color', 'util': './common/util', 'app': './workspace/vueSet', }, waitSeconds: 3 }); require(['vueLoader', 'componentConfig', 'app'], (CptLoader, commCpt, app) => { CptLoader.config(commCpt,()=>{ setTimeout(()=>{

【requireJS源码学习03】细究requireJS的加载流程

风格不统一 提交于 2020-02-04 08:08:56
前言 这个星期折腾了一周,中间没有什么时间学习,周末又干了些其它事情,这个时候正好有时间,我们一起来继续学习requireJS吧 还是那句话,小钗觉得requireJS本身还是有点难度的,估计完全吸收这个月就过去了,等requireJS学习结束后,我们的学习流程可能就朝两个方向走 ① 单页应用框架/UI库整理 ② UML文档相关/重构思想相关(软性素质) 然后以上的估计估计会持续3、4个月时间,希望学习下来自己能有不一样的提高,成为一个合格的前端,于是我们继续今天的内容吧 requireJS中的队列 经过之前的学习,我们队requireJS的大概结构以及工作有了一定认识,但是,我们对于其中一些细节点事实上还是不太清晰的,比如里面的队列相关 requireJS中有几种队列,每种队列是干神马的,这些是我们需要挖掘的,而且也是真正理解requireJS实现原理的难点 首先,requireJS有两个队列: ① globalDefQueue / 全局 ② defQueue / newContext 闭包 这个队列事实上是一个数组,他们具体干了什么我们还不得而知,但是我下意识觉得他比较关键...... 我们这里来简单的理一理这两个队列 globalDefQueue 这个是全局性的队列,与之相关的第一个函数为takeGlobalQueue takeGlobalQueue /** *

requireJS 源码(三) data-main 的加载实现

自古美人都是妖i 提交于 2020-02-04 08:00:49
(一) 入口   通过 data-main 去加载 JS 模块,是通过 req(cfg) 入口去进行处理的。   为了跟踪,你可以在此 加断点 进行调试跟踪。 (二)       req({ })执行时,function newContext() 已经创建了上下文环境 context。我们可以看看 context 拥有哪些属性与方法。       通过执行 context.confgiure(config)即可加载 data-main所对应的js文件(main.js)。    当req(cfg)执行,config值 如右图所示---------    在context.confgiure()函数最后一行代码中,开始执行 context.require() .       context.require(...),其中 context.require = context.makeRequire();   其中,makeRequire() 以及 localRequire() 这里已经形成了闭包。      因为在 req( { } )调用makeRequire()时 ,已经直接返回 localRequire(),因此 context .require(..) , 直接进入 localRequire()函数。   localRequire()函数里,做很很多事,但是,由于此时 全局队列

PHP中引入文件的四种方式详解

独自空忆成欢 提交于 2020-02-04 02:26:21
四种语句 PHP中有四个加载文件的语句: include、require、include_once、require_once 。 基本语法 require: require函数一般放在PHP脚本的最前面,PHP执行前就会先读入require指定引入的文件,包含并尝试执行引入的脚本文件。require的工作方式是提高PHP的执行效率,当它在同一个网页中解释过一次后,第二次便不会解释。但同样的,正因为它不会重复解释引入文件,所以当PHP中使用循环或条件语句来引入文件时,需要用到include。 include: 可以放在PHP脚本的任意位置,一般放在流程控制的处理部分中。当PHP脚本执行到include指定引入的文件时,才将它包含并尝试执行。这种方式可以把程序执行时的流程进行简单化。当第二次遇到相同文件时,PHP还是会重新解释一次,include相对于require的执行效率下降很多,同时在引入文件中包含用户自定义函数时,PHP在解释过程中会发生函数重复定义问题。 require_once / include_once: 分别与require / include作用相同,不同的是他们在执行到时会先检查目标内容是不是在之前已经导入过,如果导入过了,那么便不会再次重复引入其同样的内容。 相互区别 include和require: include有返回值,而require没有返回值

Composer install 报错: Your requirements could not be resolved to an installable set of packages

给你一囗甜甜゛ 提交于 2020-02-03 02:35:06
[wdh@izhp3flliiu1w www]$ composer create-project laravel/laravel --prefer-dist PHP Warning: Module 'zip' already loaded in Unknown on line 0 Installing laravel/laravel (v5.0.22) - Installing laravel/laravel (v5.0.22): Loading from cache Created project in /www/wwwroot/default_online/www/laravel Loading composer repositories with package information Installing dependencies (including require-dev) from lock file Your requirements could not be resolved to an installable set of packages. Problem 1 - Installation request for laravel/framework v5.0.16 -> satisfiable by laravel/framework[v5.0.16]. -

gulp完全安装教程

本小妞迷上赌 提交于 2020-02-02 16:13:03
直接进入正题吧。说起来真是好久好久都没有更新过bolg了呢……工作忙起来累成狗。现在辞职在家又懒得动。 环境:mac osx 步骤一:安装node。 这一步就不赘述了。直接上https://nodejs.org/en/ 下载安装就可以了。安装完成后打开终端输入 npm -v 查看是否安装成功。看到版本号即为成功 以下为成功提示: 步骤二:安装gulp。 先全局安装gulp,然后要进入你的每个需要用到gulp的项目里单独安装gulp。 打开“终端”,输入 $ npm install gulp -g 全局安装gulp后cd进入你需要用到gulp的项目文件里。建立一个专属于gulp的文件夹。在这个文件夹里创建package.json,记得加上{},保存。如图 接着在终端中输入: $ npm install gulp --save-dev上述指令将gulp安装到本地端的项目内,并将记录于package.json内的devDependencies中。步骤三 安装外挂 编译less (gulp-less) Autoprefixer ( gulp-autoprefixer ) 缩小化(minify)CSS ( gulp-minify-css ) JSHint ( gulp-jshint ) 拼接 ( gulp-concat ) 丑化(Uglify) ( gulp-uglify ) 图片压缩 (

Does requiring a gem load everything, including things I don't use?

一笑奈何 提交于 2020-02-02 11:45:45
问题 Assume x is a gem, that contains both Hello and Goodbye classes. If I write a program that require 'x' , but only uses the Hello class. Is the Goodbye class loaded as well? 回答1: You include scripts or files, not gems. With require 'x' you load the file x.rb . Which x.rb you load is defined by the search path, the search pathes can be modified by gem definitions (what you didn't use in your example code). Everything inside the file x.rb is loaded. If x.rb contains other require commands, those

gulp入门指南

此生再无相见时 提交于 2020-02-02 10:18:12
Grunt靠边,全新的建构工具来了。Gulp的code-over-configuration不只让撰写任务(tasks)更加容易,也更好阅读及维护。 Glup使用node.js串流(streams)让建构更快速,不须写出资料到硬盘的暂存档案/目录。如果你想了解更多有关串流–虽然不是必须的–你可以阅读 这篇文章 。Gulp利用来源档案当作输入,串流到一群外挂(plugins),最后取得输出的结果,并非配置每一个外挂的输入与输出–就像Grunt。让我们来看个范例,分别在Gulp及Grunt建构Sass: Grunt: sass: { dist: { options: { style: 'expanded' }, files: { 'dist/assets/css/main.css': 'src/styles/main.scss', } } }, autoprefixer: { dist: { options: { browsers: [ 'last 2 version', 'safari 5', 'ie 8', 'ie 9', 'opera 12.1', 'ios 6', 'android 4' ] }, src: 'dist/assets/css/main.css', dest: 'dist/assets/css/main.css' } }, grunt.registerTask(

Gulp前端构建前端开发环境

。_饼干妹妹 提交于 2020-02-02 05:53:21
一、下载并安装Node.js C:\Users\Administrator>node -v v11.0.0 二、安装npm,安装淘宝cnpm npm install -g cnpm --registry=https://registry.npm.taobao.org C:\Users\Administrator>cnpm -v cnpm@6.0.0 (C:\Users\Administrator\AppData\Roaming\npm\node_modules\cnpm\lib\parse_argv.js) npm@6.5.0 (C:\Users\Administrator\AppData\Roaming\npm\node_modules\cnpm\node_modules\npm\lib\npm.js) node@11.0.0 (C:\Program Files\nodejs\node.exe) npminstall@3.17.0 (C:\Users\Administrator\AppData\Roaming\npm\node_modules\cnpm\node_modules\npminstall\lib\index.js) prefix=C:\Users\Administrator\AppData\Roaming\npm win32 x64 10.0.17763

运行node.js报错:Cannot find module '../build/Release/bson'] code: 'MODULE_NOT_FOUND' } js-bson

谁说我不能喝 提交于 2020-02-02 05:47:55
具体报错内容: { [Error: Cannot find module '../build/Release/bson'] code: 'MODULE_NOT_FOUND' } js-bson: Failed to load c++ bson extension, using pure JS version 第一步: 找到 module mongodb ..node_modules\mongodb\node_modules\bson\ext\index.js 并改变bson引用的路径 bson = require('../build/Release/bson'); 改 bson = require('../browser_build/bson'); 或 bson = require('bson'); 第二步: 把mongoose 版本改成3.8.23 运行: npm install mongoose@3.8.23 或者 在package.json文件里 修改成 "mongoose ": "~3.8.23"    来源: https://www.cnblogs.com/StarFine/p/5261212.html