【发布时间】:2016-06-25 00:12:33
【问题描述】:
我想为 webpack 生成的每个静态 url 添加一个前缀(“/static/”)。但是我希望生成的包忽略这个,所以 app.js 和 staticfiles 都在同一个目录中。文件加载器允许使用 ?name=static/[name].[ext] 指定前缀,但我的包随后会出现在输出中的 static/ 目录中。
我想这样做是因为我正在从龙卷风中提供我的应用程序,所以每条路径都需要某种前缀,否则我无法提供主页
Webpack 配置
module: {
loaders: [
...
{test: /\.(jpg|ttf|html|eot|woff2?|svg)$/, loader: "file?name=static/[hash].[ext]"},
]
},
龙卷风配置
ROOT_DIR = os.path.abspath(os.path.dirname(__file__))
application = tornado.web.Application(handlers=[
(r'/', MainHandler),
(r'/socket', SocketHandler),
(r'/utilization', UtilizationHandler)
],
autoreload=True,
debug=False,
template_path=os.path.join(ROOT_DIR, 'templates'),
static_path=os.path.join(ROOT_DIR, 'public'),
static_url_prefix='/static/'
)
上面设置的static_url_prefix其实是默认的。我无法将其设置为空,否则根路径会转到 tornado 的 staticHandler 而不是我的 mainHandler。
【问题讨论】:
-
你试过
output.publicPath参数(docs - github.com/webpack/docs/wiki/configuration#outputpublicpath)吗? -
谢谢你,这确实是我所需要的。不过,我有一个后续问题,如果您能提供帮助,请参阅我对已接受答案的评论。
标签: webpack