gpt4 book ai didi

javascript - 如何使用 Node 自定义此构建脚本?

转载 作者:太空宇宙 更新时间:2023-11-04 01:13:41 24 4
gpt4 key购买 nike

我有一个独特的目录结构,需要帮助为其制作构建脚本。
这是link (略有不同)或目录结构:

client
/extensions
/sandbox
/widgets
/form
/collections
/models
/views
/styles
custom.css
/controllers
main.coffee
server
/views
/layouts
/errors
app.coffee
config.coffee

我需要的一些东西:

  • 将带有监视任务的 CoffeeScript 编译到 server-dist +客户区
  • 将所有其他文件复制到其嵌套文件夹中,最好还包含监视任务

问题:

  • 如果我只编译 CoffeeScript,它只会复制 .coffee 文件将 .js 放入其嵌套目录中,但留下 .css/imgs/等加载了 require.js。我也需要一种方式来带它们进入-dist目录
  • /client 文件夹中的 Main.coffee 是一个 require.config,可以与 requirejs grunt 构建工具一起使用来优化。

无论如何,最简单的解决方案就是我正在寻找的。

最佳答案

我最终使用 grunt - 完成以下任务:

  • clean:清除服务器/客户端构建目录
  • watch:监视 .coffee 文件和两个构建目录
  • 复制:复制客户端/服务器文件以构建目录,忽略由咖啡任务管理的 .coffee 文件
  • coffee:将 .coffee 文件编译为 .js,并将它们移动到构建目录

这是当前迭代中的 grunt 文件:

grunt.initConfig({

clean: {
build: ['client-dist', 'server-dist'],
release: []
},

watch: {
coffee: {
files: ['client/**/*.coffee', 'server/**/*.coffee'],
tasks: 'coffee reload'
},
reload: {
files: ['client/**/*.!(coffee)', 'server/**/*.!(coffee)'],
tasks: 'copy reload'
}
},

copy: {
client: {
files: {
"client-dist/": "client/**/*.!(coffee)"
},
options: {
basePath: "client"
}
},
server: {
files: {
"server-dist/": "server/**/*.!(coffee)"
},
options: {
basePath: "server"
}
}
},

coffee: {
compile: {
files: {
'server-dist/*.js': 'server/**/*.coffee',
'client-dist/*.js': 'client/**/*.coffee'
}
}
}

});

grunt.loadNpmTasks('grunt-contrib');
grunt.loadNpmTasks('grunt-reload');

grunt.registerTask('default', '');
grunt.registerTask('build', 'clean:build copy coffee watch');

关于javascript - 如何使用 Node 自定义此构建脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13385464/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com