如果我!= js('engagement')
的.jade
文件中有,并且该 CoffeeScript 文件将在页面加载时编译成一个.js
文件,然后我可以.js
直接访问该文件。
但我无法启动我的 Node.js 服务器并直接转到 url 中的.js
文件/js/engagement.js
。
是否有一些简单的代码可以放入我的包中app.js
以使包“connect-assets”在编译时有所不同?
如果我!= js('engagement')
的.jade
文件中有,并且该 CoffeeScript 文件将在页面加载时编译成一个.js
文件,然后我可以.js
直接访问该文件。
但我无法启动我的 Node.js 服务器并直接转到 url 中的.js
文件/js/engagement.js
。
是否有一些简单的代码可以放入我的包中app.js
以使包“connect-assets”在编译时有所不同?
我称这个具体问题为“启动”;您想使用这些文件而不在任何视图中引用它们。对于在前端涉及requireJS的架构尤其成问题。
我创建了一个名为的模块,该模块connect-assets-jsprimer
将在应用程序启动时准备好所有的咖啡脚本文件,以便它们可用。本质上,它只是 js("")
在 assets/js 文件夹中的所有文件上调用 connect-assets 函数(递归地)。
安装:
npm install connect-assets-jsprimer
用法(在您的 server.js 或其他内容中)
var assets = require('connect-assets');
var jsPrimer = require('connect-assets-jsprimer');
// Snip ...
app.use(assets());
jsPrimer(assets);
// Optionally, you can pass in a log function to see progress
// jsPrimer(assets, console.log);
在此之后,您应该能够立即请求您的 javascript 文件而无需呈现任何视图。
源代码在 github 上的connect-assets-jsprimer