在Makefile任务期间复制.js并编译.coffee
Copy .js and compile .coffee during Makefile task
我有一个节点项目:
-
src中的
.coffeescript
源 - 编译coffeescript输出到lib
- bin中的shell脚本
如何调整我的Makefile
,如下所示,将src中的.js
文件也复制到lib目录?
BIN = ./node_modules/.bin
SRC = $(wildcard src/*.coffee)
LIB = $(SRC:src/%.coffee=lib/%.js)
init:
npm install
clean:
@rm -r -f $(LIB)
build: $(LIB)
dist: clean init build
lib/%.js: src/%.coffee
$(call coffeetime)
define coffeetime
@mkdir -p $(@D)
$(BIN)/coffee -bcp $< > $@
endef
此外,如果您有任何其他改进Makefile的建议,请分享。
这样的东西可能会起作用。
- 添加
SRCJS = $(wildcard src/*.js)
- 将
LIB = $(SRC:src/%.coffee=lib/%.js)
更改为LIB = $(SRC:src/%.coffee=lib/%.js) $(SRCJS:src/%=lib/%)
-
添加:
lib/%.js: src/%.js @cp $< $@
如果它不起作用(出于某种原因),那么您可能需要使用静态模式规则,但我认为类似上面的规则应该起作用。
我建议您改用Grunt。有一些巧妙的任务可以很好地处理Coffeescapet的编译。喜欢:https://github.com/gruntjs/grunt-contrib-coffee
此外,根据您的需要,Node.js可以在需要时直接处理Coffeescapet。
相关文章:
- Babel编译错误:找不到模块核心js/library/fn/get迭代器
- Bootstrap CSS和JS我必须将它们包含在单独的文件中,或者可以编译它们
- 在客户端上编译和渲染复杂的Dust.js模板
- 预编译的JSX React,js不起作用
- Angular JS$编译服务导致$watch内存泄漏
- 从Babel 5.8.35升级到6.0.0将不会编译带有SyntaxError和意外标记的app.js
- 通过运行条件编译防止JS泄露IE浏览器
- 在 Windows 中预编译车把.js模板
- 如何将从GWT编译的JS添加/访问到另一个外部HTML / JS项目中
- 选择以输出大小为优先级的编译到 JS 语言
- 如何让 React Native 在编译发布时将 JS 包放入共享扩展中
- 与为生产站点编译多个 js 文件的相关性
- JS-如果是语句运算符,这是怎么编译的
- 在单个文件中需要js和多个已编译的Handlebar.js模板
- 为NW.js编译的SQLITE-一个用于SQL CRUD的命令
- Grunt将外部JS编译成内联HTML
- Node.js编译我不需要的文件.这是怎么运作的
- 我如何用sweet.js编译多个文件
- CoffeScipt文件与JS编译的区别
- Paper.js编译错误:env: node:没有这样的文件或目录