1

我正在使用duojs,它是一个前端 Web 开发工具,与 browserify 或组件不同。它允许您直接从文件本身导入 css 和 js,而无需任何外部包清单。

我正在尝试了解如何编写我的 js,以便它与 duojs 一起工作,但我不确定它用于其模块定义的架构类型。我在文档中查找过,但在那里找不到。据我所知,duojs 编译器似乎将所有组件包装在 commonjs 样式包装器中:

例如,在他们的 repo 上看到这个编译的 js 文件(下面是一个片段):

 /**
* Return newest require.
*/
return require;
})({
1: [function(require, module, exports) {
/**
* Module Dependencies
*/
var Highlight = require('segmentio/highlight');
/**
* Code highlighting.
*/
new Highlight()
.use(require('segmentio/highlight-javascript'))
.use(require('segmentio/highlight-xml'))
.use(require('segmentio/highlight-css'))
.use(require('segmentio/highlight-json'))
.all();

谁能从代码中看出这里使用了什么样的 js 模块 api?对我来说,这看起来像是一个 commonjs 样式的模块定义,但我不确定,它也可能是节点。

4

2 回答 2

2

Duo 使用duo-pack构建它的 javascript。duo-pack 的 javascript 打包器与 browserify 的browser-pack非常相似。duo-pack 的不同之处在于它还支持打包 CSS。

它以这样一种方式打包,即当包含脚本时,入口文件将立即执行。

于 2014-09-15T08:00:46.693 回答
0

据我了解,根据我的发现,它不使用其他 API 结构。查看https://github.com/duojs/duo/blob/master/docs/api.md了解如何使用 DuoJS API 的信息。

在我看来,它似乎完全是从头开始构建的,但我不是任何形式的 JavaScript 专家。

于 2014-09-12T12:48:21.867 回答