gpt4 book ai didi

javascript - 使用 webpack 在输出目录中保留文件夹结构

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:14:20 25 4
gpt4 key购买 nike

我有以下文件夹结构:

/index.html
/app/index.tsx

在使用 webpack 打包后,我希望将以下输出目录与 bundle.js 注入(inject)到 index.html 中

/dist/index.html
/dist/app/bundle.js
/dist/app/bundle.js.map

我有以下 webpack 配置

var webpack = require("webpack")
var HtmlWebpackPlugin = require("html-webpack-plugin");

module.exports = [
{
entry: "./app/index",
output: {
path: "./dist/app",
filename: "bundle.js"
},
devtool: "source-map",
resolve: {
extensions: ["", ".tsx", ".ts", ".js"]
},
plugins: [
new webpack.optimize.UglifyJsPlugin(),
new HtmlWebpackPlugin({
"filename": "./index.html",
"template": "html!./index.html"
})
],
module: {
loaders: [
{ test: /\.tsx?$/, loader: "ts-loader" },
]
}
},
{
output: {
path: "./dist",
filename: "bundle.js"
},
plugins: [
new HtmlWebpackPlugin({
"filename": "./index.html",
"template": "html!./index.html"
})
]
}
]

它似乎工作正常,但脚本 bundle.js 没有按预期注入(inject)到 index.html 中。 HtmlWebpackPlugin 应该这样做。我做错了什么?

最佳答案

这类似于 WebpackHtmlPlugin issue #234 .

来自 https://github.com/webpack/docs/wiki/configuration#outputpublicpath

output.publicPath The publicPath specifies the public URL address of the output files when referenced in a browser.

您可以做的是将 'app' 文件夹名称添加到输出文件名中:

module.exports = {
output: {
filename: "app/[name]-[hash].js",
path: "dist",
publicPath: ""
},
plugins: [
new HtmlWebpackPlugin({
"template": "html!./index.html"
}),
],
}

关于javascript - 使用 webpack 在输出目录中保留文件夹结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36122972/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com