Webpack 向网页包中生成的URL添加静态前缀

Webpack 向网页包中生成的URL添加静态前缀,webpack,Webpack,我想给webpack生成的每个静态url添加一个前缀(“/static/”)。但是,我希望生成的捆绑包忽略这一点,因此app.js和staticfile最终都位于同一个目录中。文件加载器允许使用?name=static/[name].[ext]指定前缀,但我的包随后会在输出中的static/目录中 我想这样做是因为我正在为tornado的应用程序提供服务,所以每个路径都需要某种前缀,否则我无法为主页提供服务 网页包配置 module: { loaders: [ ...

我想给webpack生成的每个静态url添加一个前缀(“/static/”)。但是,我希望生成的捆绑包忽略这一点,因此app.js和staticfile最终都位于同一个目录中。文件加载器允许使用
?name=static/[name].[ext]
指定前缀,但我的包随后会在输出中的
static/
目录中

我想这样做是因为我正在为tornado的应用程序提供服务,所以每个路径都需要某种前缀,否则我无法为主页提供服务

网页包配置

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\u url\u前缀实际上是默认值。我无法将其设置为空,或者根路径转到tornado的
staticHandler
,而不是webpack.config.js中的
mainHandler

设置publicPath选项

output: {
    path: "/home/proj/public/assets",
    publicPath: "/static/"
}

您是否尝试了
output.publicPath
parameter(docs-)?谢谢您,这正是我所需要的。不过,我还有一个后续问题,请看我对已接受答案的评论,以防您能提供帮助。感谢您和Bob Sprone,这正是我想要的。必须抱怨文档在该段中没有使用“前缀”一词。一个主要问题是它似乎破坏了devServer,有没有办法只在build上设置选项?我通过在package.json中的
npm run build
命令中添加
--output public path='/static/'
解决了这个问题,而不是在webpack.config.js中使用
publicPath