Tag: requirejs

要求:访问/列出所有加载的模块

我在我有以下代码的情况: define([ "require", "./module1/module1", "./module2/module2", "./module3/module3", // … // hundreds of modules here (with their path) // … ], function ( require, module1, module2, module3, // … // hundreds of modules's name here // … ) { var myMod = function() { myMap = { | "module1": new module1(), | This is the part "module2": […]

用JStesting文件testing用Karma和Jasmine编译的TypeScript

我有一个具有以下结构的项目: build – out.js spec – foo.spec.js – bar.spec.js src – foo.ts – bar.ts 这两个.ts文件被构build到out.js 。 在我的.spec.js文件中,我希望能够轻松地引用out.js 当在纯JS项目中使用Karma / Jasmine时,我只需要使用RequireJS,并将我的testing文件封装在define(['a'], function(a) { … }); 文件。 然后,在a.js ,内容将如此包装: define([], function() { Foo.prototype. ……. Foo.prototype. ……. return Foo; }); 但是,由于out.js将由TypeScript编译器构build,因此无法封装在define(…)块中,因此无法使用RequireJS正确导入它。 澄清: 用下面的手写JS,我可以把它导入到我的testing文件中: define([], function() { function Bla() { } Bla.prototype.hi = function () { return "hey"; }; […]

RequireJS:data-main不会加载文件

我只是把我的小项目转换成nodejs。 但由于某种原因,requireJS文件 – 您定义您将在项目中使用JS的那个文件不会被加载。 这是我的结构… ng-app是我为网站制作前端的地方。 我用gulp把它们处理成html和js并放到ng-dist 这是我的server.js文件 var express = require('express'); var app = express(); app.use(express.static(__dirname + '/ng-dist')); app.listen(3000); 当我到我的浏览器,它就像预期一样呈现。 但是,似乎我的require.js文件没有按照data-main属性的规定被读取。 这是require.js文件的样子。 require.config { baseUrl :'app/' paths : { angular : '//cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.15/angular.min' ngRoute : '//cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.15/angular-route.min' ngAnimate : '//cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.15/angular-animate.min' router : 'routes' directives : 'directives/ref' services : 'services/ref' coreModule : 'config' jQuery : '//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min' uikit […]

让cordova等待asynchronous挂钩完成

在我的Cordova项目中,我有一个在after_prepare上执行RequireJS优化(r.js)的after_prepare 。 该优化本质上是asynchronous的,所以我的钩子代码在所有的优化完成之前都会返回。 例如,运行cordova run browser时会导致问题:在第一页加载时,优化还没有完成,站点看起来破损。 有没有办法使Cordovoa构build过程阻塞,直到某个钩子触发callback? 或者优化器可以以阻塞/同步的方式运行? 我能想到的另一种方法是使用不同的stream程进行优化和繁忙 – 主要是等待完成,但对我来说,这看起来像是一种矫枉过正的行为。

在运行时和unit testing问题上需要文件

我使用require.js在运行时加载文件,如下所示:当我在正确的上下文中运行文件(我的意思是来自正确的path的调用)时, 按预期工作 。 module1.js define(["otherModule"], function(otherModule) { working!!! …. 现在我想创build一个unit testing从这个文件(模块1)从其他上下文(从在不同的位置在项目中find的testing文件夹),我得到错误 require.js:145 Uncaught Error: Script error for: otherModule 由于它试图在位于不同的项目结构中的unit testing期间在此path上运行get … HTTPS://app/path1/path2/path3/otherModule.js 而在运行时 (从不同的上下文),它在path中find它 HTTPS://app/path1/path2/path3/path4/path5/otherModule.js 请求中有额外的path4和path5,我应该如何解决它在两种情况下工作(UT / Runtime)? http://requirejs.org

Angularjs无法find模块后与requirejs优化器optmize

我有这个回购在这个提交angularseed:a9ad4568bd8534b888ae5cb3bf1a7f92f66d633d(只是学习工具和库)。 也许有人可以帮助我。 当我尝试使用requirejs优化我的代码时出现问题。 我使用grunt-contrib-requirejs。 要查看问题,您必须克隆回购。 Nodejs是强制性的。 https://github.com/neonds/angularseed.git cd angularseed npm run configure //to download deps npm run dev //then open http://localhost:9000 npm run prod 当我运行prod脚本时,似乎ngRouter没有正确加载和。 有人可以帮我find问题吗? 错误login控制台 Gruntfile: module.exports = function(grunt) { 'use strict'; grunt.loadNpmTasks('grunt-contrib-clean'); grunt.loadNpmTasks('grunt-contrib-copy'); grunt.loadNpmTasks('grunt-contrib-concat'); grunt.loadNpmTasks('grunt-contrib-jshint'); grunt.loadNpmTasks('grunt-contrib-watch'); grunt.loadNpmTasks('grunt-contrib-connect'); grunt.loadNpmTasks('grunt-contrib-requirejs'); grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), project: { src: 'src', vendor: 'bower_components', build: 'build', dist: 'dist', }, […]

从requirejs迁移到webpack

我正在将基于require.js的项目迁移/移动到webpack v3。 由于我所有的模块都使用以下语法: define([modules,..], function(mod1,..) 其中声明要使用哪些模块,并将模块分配给匿名函数中的variables。 这似乎是从webpack的v2弃用。 我找不到任何有关这方面的信息(web pack v1的文档除外)。 我是否应该将所有模块重写为commonjs(包括依赖项),还是有任何使用AMD模块的巧妙方法? 帮助非常感谢:-)问候

如何在命令行上启动mimosa coffeescript项目

我用含羞草生成一个快速的应用程序,并使用mimosa watch –server使用它。 一切都很好。 有一个server.coffee文件,由mimosa和requirejs自动生成,包含行exports.startServer = function(config){…} 我如何通过命令行启动? 我尝试咖啡server.coffee,有时与-r。 谢谢! OMGoodness,忘了提及我在Windows上。 其他的一切和我在互联网上find的任何例子都是一样的(6个月前NPM没有安装好,但最近事情真的很好)。 节点v 0.8.14咖啡1.4.0含羞草0.6.1 含羞草说,它从server.coffee运行startServer。 考虑server.coffee的requirejs格式的命令行相当于什么?

在node.js amdefine中使用RequireJS插件

我创build了一个简单的requireJS插件。 它在浏览器中运行良好,但是在nodejs中不行…插件在这里可用。 当前的插件不仅仅是一个模块的代码是这样的: if (typeof define !== 'function') var define = require('amdefine')(module); define(function (require, exports, module) { var _ = require("underscore"), Backbone = require("backbone"); … var plugin = { load:function (name, require, load, config) { var resources = this.parseResources(name); require(resources, function () { var localValidator = global.Validator.extend({}); _.each(arguments, function (resource) { localValidator.customize(resource); }, this); var […]

在服务器和客户端之间共享JavaScript模型代码,这种方法是否有效?

我开始学习Node.js和Backbone。 我想分享服务器和客户端之间的一些代码(涉及[1]和[2] )。 更深层次: 共享模型的默认值 。 默认值用于填充表单(客户端),而在服务器端执行 共享validation规则 ,以便DRY并执行客户端/服务器validation 共享实例方法 所以我的想法是使用factory对象封装通用代码(默认,validation规则,公共实例方法),并根据环境(Node.js或AMD模块)调整factory对象。 此代码是快速和肮脏的,可能无法正常工作。 这是一个好方法还是浪费时间? (function (factory) { if (typeof exports === 'object') { // Node.js var config = require('../config/config.json'), Sequelize = require('sequelize'), _ = require('underscore'); var User = { receiveSms: { type: Sequelize.BOOLEAN, allowNull: false }, receiveNewsletter: { type: Sequelize.BOOLEAN, allowNull: false } }; // Add […]