Nodejs coffee 编译问题
Nodejs coffee 编译问题
我用 coffee --compile --output lib/ src/
编译 lib
中的 .coffee
文件,但是在 src
下没看到任何内容 是什么回事 有没有人也碰到过。
Nodejs coffee 编译问题
你提到使用 coffee --compile --output lib/ src/
命令编译 .coffee
文件,但发现 src
目录下没有生成任何内容。这种情况可能有几个原因,下面我会详细解释并提供一些示例代码和解决方案。
可能的原因
- 路径错误:确保
src
目录存在并且包含.coffee
文件。 - 编译命令错误:
--compile
参数已经默认启用,不需要显式指定。 - 文件权限:确保你有权限在
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
目录下没有任何输出文件。这可能是由于以下几个原因:
- 路径错误:确保
src
目录中确实存在.coffee
文件。 - 编译命令错误:你需要将 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!");
};
检查步骤
- 确保
src
目录中确实有.coffee
文件。 - 确保
lib
目录存在。 - 运行正确的编译命令。
如果以上步骤仍然无法解决问题,请检查是否有其他脚本或配置文件干扰了编译过程。