跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 求 webpack 插件,排除特定 js 文件。
未分類
4 5 月 2020

求 webpack 插件,排除特定 js 文件。

求 webpack 插件,排除特定 js 文件。

資深大佬 : xiaoming1992 59

假设我的文件结构如下:

src |--index.js |--componentA // 组件 A,依赖 Z |--componentB // 组件 B,依赖 Z |--componentC // 组件 C,依赖 Z |--fileZ // 独立 js 文件,无依赖 

现在我希望在打包时,忽略文件 Z,而将组件 A、B、C 中所依赖的 fileZ 中的内容转变为依赖 window

// 例如  // 组件 A 源码 import { funcOne } from "fileZ"  // 转译成如下,暂时先不管我 window 里面有没有这个方法 const { funcOne } = window 

ps: 不能修改代码逻辑,仅在 webpack 配置文件中处理这些工作

大佬有話說 (12)

  • 資深大佬 : ceet

    webpack 可以配置打包环境和开发环境 根据不同的环境加载不同的 js

  • 主 資深大佬 : xiaoming1992

    自问自答,好像可以直接用 external
    (为什么我不能编辑问题了。。。)

  • 資深大佬 : joe237

    不是好像,是确实该这么用。

    常见的场景就是一些老的第三方库,对象都是直接挂载在 window 对象上的,这时候直接在 html 模板中通过 script 标签引入,完了在 webpack 的 external 中将对应的对象暴露出去,这样就可以在组件中直接通过 import 引用了

  • 資深大佬 : YuTengjing

    [webpack 官方文档 externals]( https://www.webpackjs.com/configuration/externals/)

  • 主 資深大佬 : xiaoming1992

    @joe237 我是引用的自己的文件,开发完了之后,发现有一个文件修改特别频繁,修改一次就要全部重新构建,而且我的 output file name 采用了 hash,等于说用户需要全部重新加载一遍,感觉不合理,就想把那个文件单独挂到 html 的 inline
    script 里面,导出到 window,其他文件去 window 里面引用。

  • 資深大佬 : codeduan

    @xiaoming1992 把你那个文件单独作为一个 entry,然后配置 externals 就好了。

  • 資深大佬 : codeduan

    @xiaoming1992 一个 entry 是 fileZ,另外一个 entry 是 index 配置 externals 忽略 fileZ。

  • 資深大佬 : SoloCompany

    mockFileZ.js

    module.exports = window

    alias {
    fileZ : mockFileZ
    }

  • 資深大佬 : PainAndLove

    externals 原来是这么用的。。

  • 主 資深大佬 : xiaoming1992

    @codeduan 对,我另外开了一个 webpack.config,并设置 output.libraryTarget 为 window,然后用一个 inline-script-webpack-plugin 将之打包到 html 里面,但是其实还是很丑,不优雅,我可能还得想想其他办法重新搞一下。

  • 主 資深大佬 : xiaoming1992

    两个 entry 不能在同一个 webpackConfig 里面,否则这个频繁修改的文件会影响其他文件的 hash

  • 資深大佬 : azh7138m

    hash 可以用 content hash
    文件内容不变,hash 就不变

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具