[英]Loading different module for Webpack than Server Script
我能想到的最好方法是举一个例子:
假设我有一个带有服务器端渲染的小型单页应用程序。 在客户端,新页面请求使用XHR解析,但是在服务器上,我只想直接运行服务器端解析器。
前端的组件在数据对象上调用吸气剂,例如: Data.page.get()
,它轮询服务器或返回本地存储的值。 所以我想webpack打包相关的客户端代码。 但是我想指向服务器上的另一个Data对象,该对象调用服务器用来解析XHR请求的任何逻辑,无论是db调用还是文件系统调用等等。
目前,我已经获得var Data = require(./data)
获取服务器逻辑。 有没有办法告诉的WebPack“嘿,不要使用./data
这里使用./data-client
呢? 还是我会以某种方式向后退呢?
这似乎是一个非常简单的概念,但对于一般的javascript和程序设计我还是很陌生,并且对实现它的最佳方法有些困惑。
还是我也应该像这里描述的那样使用webpack处理节点脚本: webpack可以为浏览器和节点输出单独的脚本和模块文件吗?
我目前正在使用webpack 1,但很高兴使用webpack 2解决该问题。
事实证明这很简单。
Webpack解析具有扩展优先级的模块:1).webpack.js 2).web.js 3).js
因此,在我的情况下, require('./data') will resolve to
with node, and so long as I have a
require('./data') will resolve to
data.js with node, and so long as I have a
data.web.js`,它将解析为webpack中的那个。
至少据我所知。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.