返回顶部
首页 > 资讯 > 前端开发 > node.js >webpack如何单独打包指定JS文件
  • 850
分享到

webpack如何单独打包指定JS文件

2024-04-02 19:04:59 850人浏览 泡泡鱼
摘要

这篇文章主要介绍了webpack如何单独打包指定js文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。背景最近接到一个需求,因为不确定打出的

这篇文章主要介绍了webpack如何单独打包指定js文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

背景

最近接到一个需求,因为不确定打出的前端包所访问的后端IP,需要对项目中IP配置文件单独拿出来,方便运维部署的时候对IP做修改。因此,需要用WEBpack单独打包指定文件。

CommonsChunkPlugin

module.exports = {
 entry: {
 app: APP_FILE // 入口文件
 },
 output: {
 publicPath: './dist/', //输出目录,index.html寻找资源的地址
 path: BUILD_PATH, // 打包目录
 filename: '[name].[chunkhash].js', // 输出文件名
 chunkFilename: '[name].[chunkhash].js' // commonChunk 输出文件
 }
}

题外话

{

先说一下publicPath , 这边有一个注意的点,即路径写成 ./dist 相对路径。如果写成/dist/这种绝对路径,有一个弊端是当Nginx把前端的包没有放在根目录的情况下,index.html会访问资源失败。因此推荐写成相对路径,但是当使用相对路径时,有会存在一个潜在的问题,即项目本身的路由访问如果是HTML5模式,而不是使用hash时(路由上有一个#号),那么项目一样会部署失败。angularReact都会有这样的问题,Vue没用过,应该类似。此时的解决办法是,在index.html的head中添加base标签,即:

<head>
 <meta charset="utf-8">
 <meta Http-equiv="X-UA-Compatible" content="IE=edge"/>
 <base href="/" rel="external nofollow" >
</head>

}

webpack本身基于模块化,因此大多数情况下,我们仅需要一个入口文件就可以搞定。而针对本次需求,需要在app,这个入口之外再添加一个入口文件。即:

 entry: {
 app: APP_FILE // 入口文件
 ip: IP_FILE
 },

仅这样对webpack配置之后,dist文件会成功打出app.xxx.js及ip.xxx.js,但是打包出的项目还是会报错,解决办法是:维持IP的入口文件不变,但是把它当作commonChunk来处理。即在plugins中加入:

new webpack.optimize.CommonsChunkPlugin({name: 'ip', minChunks: Infinity}),

这样保证优先加载ip.xxx.js,避免报错。

缺点:这样打包有一个很明显的缺点,即是打包出的文件是压缩的,不方便对文件进行二次修改。(没有找到解决压缩的办法)

CopyWebpackPlugin

最终解决办法,还是通过让ip.js这个文件脱离项目的模块化,然后在index.html中单独引用。(这是最开始就想到的解决办法,但并不是自己想要的解决方案,但无奈认知有限,没有解决掉之前的问题)。

解决流程:

首先在webpack引入CopyWebpackPlugin, 配置代码:

new CopyWebpackPlugin([
  {from: './src/config/ip.js', to: 'ip.js'},
 ])

在index.html中单独引入script标签,注意要配置一个随机后缀,即:

<script>
 document.write("<s"+"cript type='text/javascript' src='./dist/ip.js?"+Math.random().toString(36).substr(2)+"'></scr"+"ipt>");
</script>

防止ip.js因为缓存导致问题。

感谢你能够认真阅读完这篇文章,希望小编分享的“webpack如何单独打包指定JS文件”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网node.js频道,更多相关知识等着你来学习!

--结束END--

本文标题: webpack如何单独打包指定JS文件

本文链接: https://lsjlt.com/news/78341.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • webpack如何单独打包指定JS文件
    这篇文章主要介绍了webpack如何单独打包指定JS文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。背景最近接到一个需求,因为不确定打出的...
    99+
    2024-04-02
  • 如何实现webpack打包时排除其中一个css、js文件或单独打包一个css、js文件的方法
    这篇文章主要介绍了如何实现webpack打包时排除其中一个css、js文件或单独打包一个css、js文件的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大...
    99+
    2024-04-02
  • webpack如何打包压缩js文件和css文件
    这篇文章主要介绍“webpack如何打包压缩js文件和css文件”,在日常操作中,相信很多人在webpack如何打包压缩js文件和css文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”webpack如何打包...
    99+
    2023-07-04
  • webpack如何打包js
    这篇文章主要为大家展示了“webpack如何打包js”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“webpack如何打包js”这篇文章吧。Webpack 是一个...
    99+
    2024-04-02
  • webpack如何打包并将文件加载到指定的位置
    这篇文章主要介绍了webpack如何打包并将文件加载到指定的位置,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。使用webpack打包,最爽的...
    99+
    2024-04-02
  • webpack如何提取css为单独文件
    这篇文章主要讲解了“webpack如何提取css为单独文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“webpack如何提取css为单独文件”吧!提取cs...
    99+
    2024-04-02
  • webpack打包js文件的示例分析
    小编给大家分享一下webpack打包js文件的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!下面看下webpack打包j...
    99+
    2024-04-02
  • webpack如何打包非模块化js
    小编给大家分享一下webpack如何打包非模块化js,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!本文主要记录了非模块化js如何...
    99+
    2024-04-02
  • webpack如何独立打包和缓存处理
    这篇文章将为大家详细讲解有关webpack如何独立打包和缓存处理,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。webpack最基本的配置文件来打包压缩我们的代码:var&...
    99+
    2024-04-02
  • webpack中怎么打包压缩js和css文件
    这篇文章将为大家详细讲解有关webpack中怎么打包压缩js和css文件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。打包压缩js与css由于webpack...
    99+
    2024-04-02
  • webpack中如何使用缓存与独立打包
    这篇文章主要介绍webpack中如何使用缓存与独立打包,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!先来看看最基础的webpack配置:var path =&nb...
    99+
    2024-04-02
  • webpack将js打包后的map文件有什么用
    这篇文章将为大家详细讲解有关webpack将js打包后的map文件有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。类似于这样的map文件由webpack自动生成参数...
    99+
    2024-04-02
  • 如何在Java中打包文件并指定路径?
    在Java中,打包文件并指定路径是一个常见的需求。在本文中,我们将介绍如何使用Java中的打包工具打包文件,并指定路径。 一、打包工具介绍 Java中有两种打包工具,分别是JAR和WAR。其中,JAR是Java Archive的缩写,用于将...
    99+
    2023-10-03
    打包 文件 path
  • webpack多入口文件页面如何打包配置
    这篇文章主要介绍webpack多入口文件页面如何打包配置,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!手动配置单页应用程序和多页应用程序的 webpack配置文件其实绝大部分都还是相...
    99+
    2024-04-02
  • Maven打包时指定配置文件
            springboot项目通常会有部署到测试、演示、生产等多个环境,每次打包时都需要修改配置文件或指定配置文件,既麻烦,也不便于war包部署和版本管理。可以在maven打包时指定配置文件,实现打包配置文件零修改。       ...
    99+
    2023-09-13
    maven java 服务器
  • java如何打开指定exe文件
    知识补充:Runtime:运行时,是一个封装了JVM进程的类。每一个JAVA程序实际上都是启动了一个JVM进程,那么每一个进程都是对应这一个Runtime实例,其实例是由JVM为其初始化的。Runtime类的常用方法public stati...
    99+
    2014-11-25
    java exe 文件
  • webpack项目调试以及独立打包配置文件的示例分析
    这篇文章给大家分享的是有关webpack项目调试以及独立打包配置文件的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。webpack项目调试-sourcemapwebpac...
    99+
    2024-04-02
  • 在vue中如何使用webpack打包之后运行文件
    小编给大家分享一下在vue中如何使用webpack打包之后运行文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.vue中的v...
    99+
    2024-04-02
  • webpack打包时如何修改文件名的实现示例
    目录1、使用copy-webpack-plugin插件复制的文件,这个就是配置from和to2、修改js文件的文件名3、修改css文件的文件名4、修改其他资源文件(图片、视频等)的文...
    99+
    2024-04-02
  • webpack中多页面/入口支持与公共组件单独打包的示例分析
    这篇文章将为大家详细讲解有关webpack中多页面/入口支持与公共组件单独打包的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。基础结构和准备工作以下示例基于上一篇...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作