Tag:

要求JS优化

我有大约50个JS文件,我必须使用r.js和节点优化它…我不想指定所有的JS文件,而是指定顶级文件夹,并以某种方式让r.js获得所有需要的JS文件…. 有没有办法做到这一点? 目前,我在一个常用的js文件中指定了所有的50个js文件,并在我的build.js中引用了它…我在未来几周有更多的文件,因此保留一个通用的js文件将是一个痛苦。 请build议一些步骤。 这里是我的构build文件 ({ baseUrl: ".", mainConfigFile: "../App/main.js", //modules: [ // //{ name: "../App/Crosspoint/Address/AddressList" } // { name: "../App/Crosspoint/Office/OfficeDetails" } //], //paths: { // app: '../App', // jquery: 'jquery' //}, name: "../App/Crosspoint/Office/OfficeDetails", deps: ["../App"], out: "main-built123.js", rawText: { 'some/id': 'define(["another/id"], function () {});' }, // dir: "app", })

节点模块使用错误

我节点moudle,我需要导出两个函数,并得到两个函数的参数arg1,我试着用下面的我得到错误,我在这里做错了什么? UPDATE 我在模块里面有两个方法 1. I need to expose it outside and to call it explicit from other module with parameter 喜欢 require('./controller/module')(functionName1)(parameter); 另一个函数(functionName2)在这个模块中,我需要调用它明确的两个参数,我应该怎么做的权利?

在一个registerSuite Intern.js里面不能要求AMD模块

我有一些我想要的代码: define(function(require) { return stuff { my_func: function() { return 1; } }; }); 我试图要求它在一个registerSuite里面。 registerSuite(function() { var navigation = require('path/to/navigation.js'); 'my test': function() { return navigation.my_func(); } }); 这给我一个错误的“my_func()”没有在导航中find。 我不得不将“包含”代码转换为一个类,并实例化一个对象来使其工作。 请求方式不工作有一个原因吗?

终极JS模块解决scheme与UMD的依赖?

我在CommonJS编写的一些需要高质量UMD包装的JavaScript模块上进行维护和协作。 依赖来自npm但至less有CommonJS和AMD支持(或者我可以添加它)。 CommonJS版本继续npm UMD包装模块将被推到bower 包装必须在浏览器(AMD +全局)和Node.js(如果可能的话,任何其他CommonJS系统)中工作。 任何自动化应该最好发生使用Grunt(我很咕噜)。 我已经花了很多时间在谷歌上search,但这是一个巨大的混乱。 一些有希望的人不会削减它(或者我错过了一些完全可能的东西): browserify gluejs 咕噜-UMD 我到处都find这样的绝望构造: http : //rathercurio.us/building-umd-modules-with-dependencies-with-browserify ,但是我对这样的hackery并不是很酷。 任何好的提示呢? 我会采取任何指针或链接或提示。 编辑:澄清:最后一件事说,理想的解决scheme不应该要求我们手工组装大块的样板模板代码,并创build新的错误。 我冷静configuration和指定的东西虽然。

在使用requireJs的方法中使用node require

是否可以在通过requirejs调用的文件中使用默认节点require函数? define(["require", "exports"], function(require, exports) { //… var Schema = require(DaoPublic._schemasDirectory + schemaFilename); } 我总是得到ReferenceError: module is not defined ,我也尝试使用requireJs加载模式,因为文件本身被编码为CommonJs,而不是AMD兼容的。 任何解决scheme 请注意,加载的模式是在CommonJS,我需要保持这种方式,因为它是由几个DAO,一些在AMD和CommonJs中使用。 (有趣的部分) 请求文件(模式)的示例: var userSchema = { /** * User Login, used as id to connect between all our platforms. */ login: { type: String, match: /^[a-zA-Z0-9_-]+$/, trim: true, required: true, notEmpty: true, unique: […]

将CommonJS转换为AMD

我在NPM和Bower上发布了一个简单的CommonJS模块,基本上看起来像这样: function Foo(){} module.exports = new Foo(); 现在转换为AMD格式的最简单的方法就是发布AMD兼容的第二个版本,例如: define(function (require, exports, module) { function Foo(){} module.exports = new Foo(); }); 但我认为有一种方法可以使用requirejs.config来填充CommonJS模块,如下所示: requirejs.config({ paths:{ 'foo':'assets/vendor/foo' }, shim:{ 'foo' :{ exports: 'Foo' } } }); 但是这似乎不起作用。 我认为垫片工具可以完成上面为你做的包装,但是我不完全确定。

TypeScript:如何告诉WebStorm使用CommonJS而不是AMD

我正在使用WebStorm在TypeScript中构build一个Node.js应用程序。 当我编写“require”语句时,TypeScript编译器使用AMD。 我通过asynchronous模式输出js知道它。 我怎么能告诉WebStorm使用CommonJS呢?

使模块可通过AMD,凉亭,简单的浏览器JS和节点

我刚刚写了一个模块( https://github.com/mercmobily/simpleDeclare ),并通过NPM作为Node模块提供。 它遵循CommonJS。 我想使它也可以使用Bower的人,和类似AMD的装载器,以及直接使用浏览器。 目前的模式是什么? 或者,甚至有可能? 我记得看过几个模块,但是找不到它们,只能find过时的和不太明确的信息(但是我怀疑是在寻找错误的东西)。

Webpack“解决”function是否可以解决AMD样式的path定义?

我想在这里得到一个非常简单的概念validation…我有一个使用AMD的js库,但是我需要依赖来parsingnode_modules。 所以我有以下几点: webpack.config.js module.exports = { entry: "./resources/content/scripts/twitter_module", output: { path: path.join(__dirname, "build"), filename: "out.js", }, resolve: { root: __dirname, modulesDirectories: [ path.join(__dirname, "node_modules") ] } }; 这是我从webpack得到的输出: Hash: bab530b56faec6755978 Version: webpack 1.8.2 Time: 49ms Asset Size Chunks Chunk Names out.js 8.6 kB 0 [emitted] main [0] ./resources/content/scripts/twitter_module.js 6.44 kB {0} [built] [3 errors] ERROR […]

轮询RequireJS提供的资源

所以我正在编写一个使用RequireJS和Socket.io的应用程序来检查socket.io资源是否可用,然后在连接时引导应用程序。 如果socket.io曾经暂时下降,我想有几次需要轮询资源,直到它可用,然后继续初始化应用程序。 不幸的是(或者幸运的是)似乎有某种caching机制要求为不加载的脚本注册脚本程序,以便如果在错误callback中执行setTimeout以反映socketio require函数,则require将继续甚至在资源可用时抛出错误。 这是一个疏忽还是有理由让这个错误caching? 更重要的是,是否有一个解决方法,允许需要重新? 以下是我一直在尝试的一个例子: function initialize() { require(['socketio', function(io) { io.connect('http://localhost'); app._bootstrap(); }, function(err) { console.log(err); setTimeout(initialize, 10000); }); }