Nodejs coffee 编译问题

Nodejs coffee 编译问题

我用 coffee --compile --output lib/ src/ 编译 lib 中的 .coffee 文件,但是在 src 下没看到任何内容 是什么回事 有没有人也碰到过。

7 回复

Nodejs coffee 编译问题

你提到使用 coffee --compile --output lib/ src/ 命令编译 .coffee 文件,但发现 src 目录下没有生成任何内容。这种情况可能有几个原因,下面我会详细解释并提供一些示例代码和解决方案。

可能的原因

  1. 路径错误:确保 src 目录存在并且包含 .coffee 文件。
  2. 编译命令错误--compile 参数已经默认启用,不需要显式指定。
  3. 文件权限:确保你有权限在 lib 目录中创建文件。

示例代码

首先,确保你的项目结构如下:

project/
├── src/
│   ├── main.coffee
│   └── utils.coffee
└── lib/

main.coffee 文件内容如下:

# src/main.coffee
console.log "Hello from CoffeeScript!"

utils.coffee 文件内容如下:

# src/utils.coffee
square = (x) -> x * x

module.exports = { square }

解决方案

你可以使用以下命令来编译 .coffee 文件到 lib 目录:

coffee --output lib/ --watch src/

这条命令会监视 src 目录下的所有 .coffee 文件,并将它们编译为 .js 文件存入 lib 目录。

如果你希望一次性编译所有文件,可以使用:

coffee --output lib/ --compile src/

这条命令会将 src 目录下的所有 .coffee 文件编译为 .js 文件存入 lib 目录。

检查输出

确保 lib 目录下生成了对应的 .js 文件:

project/
├── src/
│   ├── main.coffee
│   └── utils.coffee
└── lib/
    ├── main.js
    └── utils.js

main.js 文件内容如下:

// lib/main.js
(function() {
  console.log("Hello from CoffeeScript!");
}).call(this);

utils.js 文件内容如下:

// lib/utils.js
var module = require("module");
var exports = module.exports = {};

exports.square = function(x) {
  return x * x;
};

通过以上步骤,你应该能够成功编译 .coffee 文件并将其输出到指定目录。如果仍然有问题,请检查是否有其他配置或环境问题。


C:\coffee>coffee -c -o lib/ src/ C:\coffee>

c盘下的coffee 目录下有两个文件夹 lib 与 src,lib 下有一个index.coffee文件里面的内容是: for i in [0…5] console.log "Hello #{i}" src没有内容 我在cmd下运行 coffee -c -o lib/ src/或是 coffee --compile --output lib/ src/ 都得不到编译完成的js文件,有没有人知道是什么原因

对了我的运行环境是win8

有人知道 不

找到原因了 汗: 因为我把src 与lib弄反了 src放的是.coffee原文件 lib才是最终 要生成的文件

根据你的描述,你在使用 coffee --compile --output lib/ src/ 命令时,发现 src 目录下没有任何输出文件。这可能是由于以下几个原因:

  1. 路径错误:确保 src 目录中确实存在 .coffee 文件。
  2. 编译命令错误:你需要将 CoffeeScript 文件从 src 目录编译到 lib 目录,但 src 目录本身不应该包含任何编译后的文件。

示例目录结构

project/
├── src/
│   ├── main.coffee
│   └── utils.coffee
└── lib/

正确的编译命令

你应该在项目根目录运行以下命令:

npx coffee --compile --output lib/ src/

这条命令会将 src 目录下的所有 .coffee 文件编译为 JavaScript,并将结果保存到 lib 目录中。

示例代码

假设 src/main.coffee 的内容如下:

# src/main.coffee
module.exports = ->
  console.log "Hello from CoffeeScript!"

编译后,在 lib/main.js 中你会看到以下内容:

// lib/main.js
"use strict";
var module = require("module");
module.exports = function() {
  return console.log("Hello from CoffeeScript!");
};

检查步骤

  1. 确保 src 目录中确实有 .coffee 文件。
  2. 确保 lib 目录存在。
  3. 运行正确的编译命令。

如果以上步骤仍然无法解决问题,请检查是否有其他脚本或配置文件干扰了编译过程。

回到顶部