如何使用html-webpack-plugin 打包public中的js文件
时间: 2024-01-09 12:03:58 浏览: 30
使用HTML-webpack-plugin打包public中的js文件需要进行如下配置:
1. 首先,将要打包的public中的js文件放到一个单独的目录下,例如`public/js`。
2. 在webpack的配置文件中进行如下配置:
```
plugins: [
new HtmlWebpackPlugin({
template: './public/index.html',
filename: 'index.html',
// 添加该配置项
chunks: ['main'], // 指定要引入的js文件名称,其中'main'为你要打包的js文件名称
inject: 'body' // 指定引入js文件的位置
})
]
```
其中,`chunks`属性指定要引入的js文件名称,需要与打包后的js文件名称保持一致。`inject`属性指定引入js文件的位置,可以选择在`head`或`body`中引入。
3. 在HTML模板文件中添加引入打包后的js文件的标签,例如:
```
<body>
<div id="app"></div>
<!-- 引入打包后的js文件 -->
<script src="js/main.js"></script>
</body>
```
这样,在打包后生成的HTML文件中就会自动引入public中的js文件了。如果有多个js文件需要引入,只需要在`chunks`属性中添加对应的js文件名称即可。
相关问题
copy-webpack-plugin 具体使用代码
您好!关于copy-webpack-plugin 的使用代码,您可以参考下面这个例子:
```javascript
const CopyWebpackPlugin = require("copy-webpack-plugin");
module.exports = {
// ...
plugins: [
new CopyWebpackPlugin({
patterns: [
{ from: "src/assets", to: "assets" },
{ from: "public", to: "" },
],
}),
],
};
```
这段代码的含义是将 `src/assets` 目录下所有的文件复制到输出目录的 `assets` 目录下,同时将 `public` 目录下的所有文件直接复制到输出目录。通过这个插件,可以方便地将一些静态资源打包到最终的输出目录中。
希望这个回答对您有帮助,如果有什么问题可以随时追问哦!
使用mini-css-extract-plugin插件让webpack将css打包到css目录中 路径发生错误
如果使用 `mini-css-extract-plugin` 插件让 webpack 将 CSS 打包到一个单独的 CSS 文件中,而 CSS 文件中的 URL 路径发生了错误,一般有两种情况:
1. CSS 中的相对路径错误:在 CSS 文件中使用的相对路径应该相对于 CSS 文件的位置来解析,而不是相对于 HTML 文件或 JS 文件的位置。如果你使用 `MiniCssExtractPlugin.loader` 作为 CSS loader,那么 CSS 文件会被提取到 `output.path` 目录下的某个位置,而不是和 JS 文件同级的位置。因此,你需要在配置中指定 `publicPath` 参数来指定 CSS 文件在服务器上的 URL 路径。例如:
```js
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
module.exports = {
// ...
output: {
path: path.resolve(__dirname, "dist"),
filename: "bundle.js",
publicPath: "/",
},
module: {
rules: [
{
test: /\.css$/,
use: [
MiniCssExtractPlugin.loader,
"css-loader",
],
},
],
},
plugins: [
new MiniCssExtractPlugin({
filename: "css/[name].css",
}),
],
};
```
上面的配置中,我们将 CSS 文件提取到 `dist/css` 目录下,并指定了 `publicPath` 参数为 `/`,表示所有静态资源都在根目录下。这样,在 CSS 文件中使用相对路径时,就会相对于 `dist/css` 目录来解析。
2. 图片等资源文件路径错误:如果 CSS 中包含了图片等资源文件,那么这些文件的路径也需要正确解析。一般来说,可以使用 `file-loader` 或 `url-loader` 来处理这些文件,并在 CSS 中使用相对路径来引用它们。例如:
```css
/* style.css */
body {
background-image: url(../images/bg.jpg);
}
```
```js
// webpack.config.js
module.exports = {
// ...
module: {
rules: [
{
test: /\.css$/,
use: [
MiniCssExtractPlugin.loader,
"css-loader",
],
},
{
test: /\.(png|jpe?g|gif|svg)$/i,
use: [
{
loader: "url-loader",
options: {
limit: 8192,
name: "images/[name].[hash:8].[ext]",
},
},
],
},
],
},
};
```
上面的配置中,`url-loader` 会将小于 8KB 的图片文件转换为 base64 编码的 Data URL,而大于 8KB 的文件会被转换为单独的文件,并存放到 `dist/images` 目录下。在 CSS 文件中使用相对路径 `../images/bg.jpg` 就可以正确引用这个图片文件了。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)