我正在尝试将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”}] }
答案 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。
npm start
之后,由于我将--live
参数传递给budo
,所有内容都像魔法一样,编辑/保存到我的文档中会触发浏览器重新加载/刷新。要部署或释放你,可能需要另一个目标来缩小uglify.js。我仍然有一个脚本,可以通过两个步骤手动执行,第一步调用browserify,第二步显式调用uglify.js。
作为一个评论,最近版本的budo为你做了装饰,我听说过。 另一个提示是查看React人员正在做什么来转换他们的.jsx文件,因为它在理论上非常接近于咖啡师需要做的事情。 React似乎有一个巨大的动力,所以希望React人们首先会想到这些构建问题。