繁体   English   中英

为Webpack加载与服务器脚本不同的模块

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM