如何在webpack开发服务器中分离index.html和资产?
我希望具有以下生成文件夹结构:如何在webpack开发服务器中分离index.html和资产?,webpack,webpack-dev-server,Webpack,Webpack Dev Server,我希望具有以下生成文件夹结构: /build/index.html /build/static/bundlename.js /build/static/bundlename.css /构建/静态/img/* /构建/静态/字体/* 我怎样才能做到这一点?我已经通过在bundlename中添加/静态前缀来解决这个问题,用于webpack正常构建本身。但是,当我在webpack dev server中运行此配置时,它不会按/static/path来管理文件 我对字体使用文件加载器和url加载器,
- /build/index.html
- /build/static/bundlename.js
- /build/static/bundlename.css
- /构建/静态/img/*
- /构建/静态/字体/*
提前感谢。您可以指定
输出路径。
:
output: {
path: "build/static",
publicPath: "/static/"
}
并在html网页包插件中将路径从
index.html
更改为。/index.html
,您可以指定output.path
:
output: {
path: "build/static",
publicPath: "/static/"
}
并在html网页包插件中将路径从
index.html
更改为./index.html
,output.publicPath
&output.filename
()output.path
选项确定文件在磁盘上的写入位置
在您的情况下,您需要path:path.resolve(\uu dirname,'build')
这将把
HtmlWebpackPlugin
中的index.html
放入您的build
目录中
output.filename
指定磁盘上每个输出文件的名称。您不能指定
这里有一条绝对的道路!output.path选项确定位置
在磁盘上写入文件。文件名仅用于命名
单个文件
在您的情况下,您需要文件名:'./static/bundlename.js'
这将把捆绑的JS放入静态目录 要将CSS放入您的静态目录,您需要。一旦你开始这样做,你就会想在你的网页包插件中加入一些东西,比如
newextractTextPlugin('static/bundlename.css')
对于图像和字体,您可以在加载程序中指定如下内容:
{
test: /\.(ttf|otf|eot|woff|woff2)$/
include: [
path.resolve(__dirname, 'font location here')
],
loader: 'url',
query: {
limit: 10000,
name: 'static/fonts/[name].[ext]'
}
},
{
test: /\.svg$/,
include: [
path.resolve(__dirname, 'image location here')
],
loader: 'file',
query: {
limit: 10000,
minetype: 'image/svg+xml',
name: 'static/img/[name].[ext]'
}
}
output.publicPath
指定在浏览器中引用时输出文件的公共URL地址。您可能想试试publicPath:http://localhost:8000/
看看这个你有output.path
,output.publicPath
&output.filename
()output.path
选项确定文件在磁盘上的写入位置
在您的情况下,您需要path:path.resolve(\uu dirname,'build')
这将把
HtmlWebpackPlugin
中的index.html
放入您的build
目录中
output.filename
指定磁盘上每个输出文件的名称。您不能指定
这里有一条绝对的道路!output.path选项确定位置
在磁盘上写入文件。文件名仅用于命名
单个文件
在您的情况下,您需要文件名:'./static/bundlename.js'
这将把捆绑的JS放入静态目录 要将CSS放入您的静态目录,您需要。一旦你开始这样做,你就会想在你的网页包插件中加入一些东西,比如
newextractTextPlugin('static/bundlename.css')
对于图像和字体,您可以在加载程序中指定如下内容:
{
test: /\.(ttf|otf|eot|woff|woff2)$/
include: [
path.resolve(__dirname, 'font location here')
],
loader: 'url',
query: {
limit: 10000,
name: 'static/fonts/[name].[ext]'
}
},
{
test: /\.svg$/,
include: [
path.resolve(__dirname, 'image location here')
],
loader: 'file',
query: {
limit: 10000,
minetype: 'image/svg+xml',
name: 'static/img/[name].[ext]'
}
}
output.publicPath
指定在浏览器中引用时输出文件的公共URL地址。您可能想试试publicPath:http://localhost:8000/
看看这个它在webpack构建中工作,但在我使用webpack dev服务器运行它时不工作。无论是打开/或/静态网页包,dev server都不会提供任何信息。我添加了publicPath,将index.html路径改为../,将publicPath+historyapi回退添加到webpack开发服务器。问题是我不能让它与devserver而不是webpack简单构建一起工作。你有没有在webpack dev server上亲自尝试过?如果是,请提供您的设置。这个主意很酷,但对我不起作用。可能出了什么问题。对不起,我没有使用webpack dev server,不管怎样,我试图让它正常工作,但运气不好:(它在webpack构建中工作,但在我使用webpack dev server运行它时不工作。打开/或/静态webpack dev server都不会产生任何效果。我添加了publicPath,将index.html path改为../,将publicPath+HistoryApi回退到webpack dev server。问题是我无法使它与devserver而不是webpack simple buil一起工作。)d、 您是否亲自在webpack dev server上尝试过此操作?如果是,请提供您的设置。这主意很酷,但对我来说不起作用。可能是做错了什么。对不起,我没有使用webpack dev server,无论如何,我尝试过使其工作,但运气不佳:(