gpt4 book ai didi

node.js - browserify v2 中间件

转载 作者:搜寻专家 更新时间:2023-11-01 00:11:17 25 4
gpt4 key购买 nike

在开发中,我在我的 Express 服务器上同时使用 Coffeescript 和 Browserify 中间件来交付我的客户端 JS,如下所示:

app.use browserify mount: '/client.js', entry: './client.coffee', watch: 是

今天我正在升级我的依赖项并在 browserify v2 网站上注意到这一点:

One of the worst ideas in browserify, the ad-hoc http server middleware to host bundles is finally gone.

Default support for coffee-script is gone. You can still use coffee script in your program, you'll just need to either compile to js or hook the source transformation into the bundle pipeline yourself.

Remember that if you disagree with these cuts which I expect many people will, with the v2 refactoring it's much easier to roll your own vision of how browserify should be using the underlying new libraries as a starting place.

很公平。

唯一的问题是,我已经阅读了新 API 的文档,但我对如何实际着手实现我自己的中间件有点不知所措。事实上,我什至无法获得使用 browserify.add()browserify.bundle() 的基本独立示例,更不用说作为快速中间件了。

我可以继续使用 v1,但由于该项目仍在开发中,我希望使我的依赖项保持最新。非常感谢任何建议。

更新:

我已经走到这一步了:

browserify = require 'browserify'
coffee = require 'coffee-script'
through = require 'through'

app.get '/client.js', (req, res) ->
b = browserify()
b.add './client.coffee'
b.transform (file) ->
write = (buf) ->
data += buf
end = ->
@queue coffee.compile(data)
@queue null
data = ''
return through(write, end)
b.bundle {}, (err, src) ->
res.send src

这行得通,除了我以前说 require './module' 的地方,现在看来我必须 require './module.coffee'。这不是很理想,我不想更新我的应用程序中的每个要求。

最佳答案

我得到了这个工作:

browserify = require('browserify-middleware')
coffeeify = require('coffeeify')
express = require('express')

app = express()

browserify.settings('transform', [coffeeify])

app.get('/client.coffee', browserify('./client.coffee'));

app.listen(3230);

但它可能无法解决需要 require("X.coffee") 的问题。

关于node.js - browserify v2 中间件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15149230/

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