繁体   English   中英

使用节点包客户端与requireJS?

[英]Using a node package client-side with requireJS?

我需要在正在构建的应用程序中解析客户端的一些CSS文件。 有一个出色的npm软件包可以做到这一点:

https://github.com/NV/CSSOM

我想拿这个包,将其粉碎成一个文件,并作为它的依赖项加载到我的requireJS实现中。 本质上,我想这样使用它:

//A module in which I'll use CSSOM - I use CommonJS syntax almost exclusively
define( function(require) {
    var $ = require('jquery');
    var CSSOM = require('lib/CSSOM');
});

全面披露,我之前从未真正在node.js中进行编码(我真的很想使用此模块)。 我该怎么做才能做到这一点?

将CSSOM作为非AMD脚本加载

这将在一个文件中提供CSSOM。

CSSOM指示从其github站点将其构建为浏览器脚本:

$ git clone https://github.com/NV/CSSOM.git
$ cd CSSOM
$ npm install -d
$ ./node_modules/.bin/jake

根据我在此处看到的内容,您只需要一个shim配置即可,说明如下:

CSSOM: {
    exports: 'CSSOM'
}

使用r.js

这将提供大量组成CSSOM的模块。 如果要从中获得最终的单个文件,则必须要求r.js优化ding r.js -convert的结果。

使用r.js到的代码库转换CSSOM

$ r.js -convert in out

inCSSOM的源代码树, out是您想要得到的结果树。 因为CSSOM表示它是纯JS,所以此转换可能无需进行任何其他操作即可工作,因为我希望CSSOM不使用像fs这样的特定于节点的模块。 但是可能还有其他问题。 例如,如果CSSOM使require调用使用变量而不是字符串文字作为参数,则转换器将无法对其进行转换。 无论如何,您应该查看文档以获取可能出现问题的详细信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM