加載客戶端腳本我有一個玉模板,browserify + browserify-middleware + jadeify如何從browserify暴露module.exports(通過jadeify)
這是所有在節點服務器端創建一個JavaScript文件,這是使創建生成的JavaScript文件所需的唯一事情:
app.use('/templates', require('browserify-middleware')('./public-includes'),
{
grep: /\.jade$/,
transform: ['jadeify']
}));
然後在Web瀏覽器中,我得到一些javascript從/templates/template.jade
代碼,(編輯:我張貼here)我可以看到它設置一個module.exports上的11種函數(就像節點一樣)。但是,我如何從客戶端使用它?我試着用require.js
這樣的var template = require('/templates/template.jade', function(template){});
,它返回undefined。
我是否也應該在客戶端使用browserify?我見過的所有例子都談論了bundle和東西,但我不知道它是否適用,我在目錄上運行它,並且不提供任何地方的軟件包名稱。
你已經證明了我所有這些方法的確切問題,我不明白 - 在我的代碼示例中,browserify指向一個目錄(這對我有意義),並且單個文件成爲JavaScript包裝。用你的'client.js'例子,我需要創建一個對該目錄中每個模板的引用?在第二個例子中 - 如果它在一個目錄上運行,那麼「獨立」是什麼?它是否命名每個文件並將其放在全局範圍內? – Madd0g
對不起,只需要添加'standalone:'template''命名函數 - 這實際上並不需要,因爲它是由require.js返回的,但它也使整個工作成爲可能。謝謝,我非常欣慰地看到這個工作:) – Madd0g
我仍然不確定全局範圍,以及它如何與'standalone'和一個目錄一起工作,但由於它對require.js有效,我不知道我在乎。 – Madd0g