如何使用Budo dev服务器为coffeeify定义扩展?

时间:2015-10-29 19:35:02

标签: coffeescript browserify

我正在尝试将coffeeify与budo一起使用,因此我不必将扩展名添加到我的require语句中。我试过通过budo的browserify选项传递这些命令

  

budo src / app.coffee --live --serve bundle.js - -t coffeeify --extension =“。coffee”

     

budo src / app.coffee --live --serve bundle.js - -t [coffeeify --extension =“。coffee”]

我也尝试将browserify转换插入我的package.json

  

“browserify:{    “transform”:[“coffeeify”,{“extension”:“。coffee”}]   }

1 个答案:

答案 0 :(得分:0)

这是适合我的东西(让我永远想出来,很难看到与coffeescript合作)。 Everything 位于package.yaml中。从您的顶级文件夹中调用npm start,它就可以解决问题。 npm将所有本地安装的节点二进制文件放在PATH中(它们通常位于node_modules/.bin下)。

{
  "name": "my-package",
  "version": "1.0.0",
  "private": true,
  "scripts": {
    "start": "(cd src; budo app.coffee:bundle.js --dir . --live --verbose -- --extension=.coffee | garnish)"
  },
  "browserify": {
    "extension": [ ".coffee" ],
    "transform": [ ["coffeeify"], ["brfs"] ]
  },
  "devDependencies": {
    "brfs": "1.4.1",
    "browserify": "11.1.0",
    "budo": "^5.1.5",
    "coffee-script": "latest",
    "coffeeify": "^1.1.0",
    "garnish": "^3.2.1",
    "watchify": "3.4.0"
  }
}

我的源代码位于src文件夹下,还有一个名为app.coffee的文件,其中包含(或require node.js术语)我的整个应用程序。我的src文件夹中有一个index.html,它通过html script标记引用了bundle.js。

  1. 启动budo的命令在我的package.json中。它首先打入我的src文件夹。
  2. 诀窍是在browserify块中指定一些配置:扩展名.coffee需要存在,以及转换列表。我试图在命令行上拥有所有内容,但从未让它工作
  3. 调用npm start之后,由于我将--live参数传递给budo,所有内容都像魔法一样,编辑/保存到我的文档中会触发浏览器重新加载/刷新。
  4. 要部署或释放你,可能需要另一个目标来缩小uglify.js。我仍然有一个脚本,可以通过两个步骤手动执行,第一步调用browserify,第二步显式调用uglify.js。

    作为一个评论,最近版本的budo为你做了装饰,我听说过。 另一个提示是查看React人员正在做什么来转换他们的.jsx文件,因为它在理论上非常接近于咖啡师需要做的事情。 React似乎有一个巨大的动力,所以希望React人们首先会想到这些构建问题。