require.js使用教程

require.js使用教程

  1. 下载require.js, 并引入
  • 官网: http://www.requirejs.cn/
  • github : https://github.com/requirejs/requirejs
  • 将require.js导入项目: js/libs/require.js
  1. 创建项目结构
|-js
  |-libs
    |-require.js
  |-modules
    |-alerter.js
    |-dataService.js
  |-main.js
|-index.html
  1. 定义require.js的模块代码
  • dataService.js
    define(function () {
      let msg = 'atguigu.com'
    
      function getMsg() {
        return msg.toUpperCase()
      }
    
      return {getMsg}
    })
    
  • alerter.js
    define(['dataService'], function (dataService, $) {
      let name = 'Tom2'
    
      function showMsg() {
        alert(dataService.getMsg() + ', ' + name)
      }
    
      return {showMsg}
    })
    
  1. 应用主(入口)js: main.js
(function () {
  //配置
  require.config({
    //基本路径
    baseUrl: "js/",
    //模块标识名与模块路径映射
    paths: {
      "alerter": "modules/alerter",
      "dataService": "modules/dataService",
    }
  })
  //引入使用模块
  require( ['alerter'], function(alerter) {
    alerter.showMsg()
  })
})()
  1. 页面使用模块:

  1. 使用第三方基于require.js的框架(jquery)
  • 将jquery的库文件导入到项目:
    • js/libs/jquery-1.10.1.js
  • 在main.js中配置jquery路径
    paths: {
              'jquery': 'libs/jquery-1.10.1'
          }
    
  • 在alerter.js中使用jquery
    define(['dataService', 'jquery'], function (dataService, $) {
        var name = 'xfzhang'
        function showMsg() {
            $('body').css({background : 'red'})
            alert(name + ' '+dataService.getMsg())
        }
        return {showMsg}
    })
    

  1. 使用第三方不基于require.js的框架(angular/angular-messages)
  • 将angular.js和angular-messages.js导入项目
    • js/libs/angular.js
    • js/libs/angular-messages.js
  • 在main.js中配置
    (function () {
      require.config({
        //基本路径
        baseUrl: "js/",
        //模块标识名与模块路径映射
        paths: {
          //第三方库
          'jquery' : 'libs/jquery-1.10.1',
          'angular' : 'libs/angular',
          'angular-messages' : 'libs/angular-messages',
          //自定义模块
          "alerter": "modules/alerter",
          "dataService": "modules/dataService"
        },
        /*
         配置不兼容AMD的模块
         exports : 指定导出的模块名
         deps  : 指定所有依赖的模块的数组
         */
        shim: {
          'angular' : {
            exports : 'angular'
          },
          'angular-messages' : {
            exports : 'angular-messages',
            deps : ['angular']
          }
        }
      })
      //引入使用模块
      require( ['alerter', 'angular', 'angular-messages'], function(alerter, angular) {
        alerter.showMsg()
        angular.module('myApp', ['ngMessages'])
        angular.bootstrap(document,["myApp"])
      })
    })()
    
  • 页面:
    <form name="myForm">
      用户名: <input type="text" name="username" ng-model="username" ng-required="true">
      <div style="color: red;" ng-show="myForm.username.$dirty&&myForm.username.$invalid">用户名是必须的</div>
    </form>
    
  • 21
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是一份简要的 Node.js 教程: 1. 安装 Node.js:访问 Node.js 官网,下载并安装对应操作系统版本的 Node.js。 2. 简单的 Node.js 程序: ```javascript // hello.js console.log("Hello, world!"); ``` 在命令行中执行 `node hello.js`,将输出 `Hello, world!`。 3. Node.js 核心模块:Node.js 提供了一些核心模块,包括 fs、http、path、process 等。这些模块可以直接在程序中使用,无需安装。 4. Node.js 模块化:Node.js 支持模块化开发,通过 `require` 来引入模块,通过 `module.exports` 来导出模块。 ```javascript // add.js function add(a, b) { return a + b; } module.exports = add; ``` ```javascript // main.js const add = require('./add.js'); console.log(add(1, 2)); // 输出 3 ``` 5. Node.js 异步编程:Node.js 的异步编程模型可以提高程序的性能和吞吐量。Node.js 的异步编程主要通过回调函数、事件和 Promise 实现。 ```javascript // 回调函数 const fs = require('fs'); fs.readFile('file.txt', 'utf8', (err, data) => { if (err) throw err; console.log(data); }); ``` ```javascript // 事件 const EventEmitter = require('events'); class MyEmitter extends EventEmitter {} const myEmitter = new MyEmitter(); myEmitter.on('event', () => { console.log('an event occurred!'); }); myEmitter.emit('event'); ``` ```javascript // Promise const fs = require('fs').promises; fs.readFile('file.txt', 'utf8') .then((data) => { console.log(data); }) .catch((err) => { console.error(err); }); ``` 6. Node.js Web 开发:Node.js 也可以用于 Web 开发,常见的 Web 框架包括 Express、Koa、Hapi 等。 ```javascript // Express 示例 const express = require('express'); const app = express(); app.get('/', (req, res) => { res.send('Hello, world!'); }); app.listen(3000, () => { console.log('Example app listening on port 3000!'); }); ``` 7. Node.js 数据库:Node.js 支持多种数据库,包括 MySQL、MongoDB、Redis 等。使用第三方模块来操作数据库。 ```javascript // MySQL 示例 const mysql = require('mysql'); const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'test', }); connection.connect(); connection.query('SELECT * FROM users', (error, results, fields) => { if (error) throw error; console.log(results); }); connection.end(); ``` 8. Node.js 单元测试:使用单元测试可以保证程序的质量和稳定性。常见的 Node.js 单元测试框架包括 Mocha、Jest、AVA 等。 ```javascript // Mocha 示例 const assert = require('assert'); describe('Array', () => { describe('#indexOf()', () => { it('should return -1 when the value is not present', () => { assert.strictEqual([1, 2, 3].indexOf(4), -1); }); }); }); ``` 以上是一个简要的 Node.js 教程,希望对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值