- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个使用 browserify 从 jade 模板创建的 javascript 文件+ browserify-middleware + jadeify
这一切都在节点的服务器端,这是让它创建生成的 javascript 文件所需的唯一事情:
app.use('/templates', require('browserify-middleware')('./public-includes'),
{
grep: /\.jade$/,
transform: ['jadeify']
}));
然后在网络浏览器中,我从 /templates/template.jade
得到了一些 javascript 代码,(编辑: 我发布了它 here )我可以看到它在 module.exports 上设置各种功能(就像节点一样)。但是我如何从客户端使用它呢?我尝试像这样使用 require.js
var template = require('/templates/template.jade', function(template){});
,返回未定义。
我是否也应该在客户端使用 browserify?我见过的所有示例都在谈论包和东西,但我不知道它是否适用,我在一个目录上运行它并且没有在任何地方提供包名称。
最佳答案
理想情况下,到处使用 browserify。为此,只需要一个 client.js
文件即可:
var template = require('./templates/template.jade');
// rest of code here
然后在服务器上,做:
app.get('/client.js', require('browserify-middleware')('./client.js',
{
transform: ['jadeify']
}));
在您的 html 中,您只需执行以下操作:
<script src="/client.js"></script>
另一种选择,如果你想使用像 requirejs 这样的东西或者只是一个独立的全局你可以这样做:
app.get('/templates', require('browserify-middleware')('./public-includes'),
{
grep: /\.jade$/,
transform: ['jadeify'],
standalone: 'template'
}));
然后您应该会发现在客户端上声明了一个全局 template
变量,或者它应该与 requirejs 一起工作,因此您可以执行以下操作:
require('/templates/template.jade', function (template) {
//use template here
});
虽然我对 requirejs 不是很有经验,所以你的里程数可能会因该方法而异。我真的建议对所有内容都使用 browserify。
关于javascript - 如何从公开 module.exports 的 browserify 加载客户端脚本(通过 jadeify),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21634990/
首先,我的最终目标是能够将 jade 模板与 backbone 一起使用,但这是我能想到的最佳解决方案。 browserify.gulp //appoligies for including it a
我有一个使用 Backbone 构建的应用程序,并且我使用 Jade 作为模板。我使用 Browserify 进行构建,并使用 jadeify 作为转换,将模板编译为 js 函数。 所有这些都很好,问
上下文 我克隆了一个基本的 node-browserify boilerplate project把它拿起来。我正在使用 CoffeeScript 。现在,我正在尝试添加 jadeify方程如下: b
我有一个使用 browserify 从 jade 模板创建的 javascript 文件+ browserify-middleware + jadeify 这一切都在节点的服务器端,这是让它创建生成的
我是一名优秀的程序员,十分优秀!