Webpack 网页包文件加载器操纵输出路径
假设我有一个简单的加载程序,它应该只是将一个文件从源代码移动到部署,我只是复制了简单化状态的规则Webpack 网页包文件加载器操纵输出路径,webpack,gulp,copy,webpack-2,webpack-file-loader,Webpack,Gulp,Copy,Webpack 2,Webpack File Loader,假设我有一个简单的加载程序,它应该只是将一个文件从源代码移动到部署,我只是复制了简单化状态的规则 { test: /\.cshtml$/, use : [{ loader : 'file-loader', options : { name : '[path][name].[ext]', // context :'', // outputPath : ''
{
test: /\.cshtml$/,
use : [{
loader : 'file-loader',
options : {
name : '[path][name].[ext]',
// context :'',
// outputPath : ''
}
}]
}
我已经尝试了一百万种不同的组合,基本上,一旦文件加载器处理它,它就会将其复制到webpack config中的输出.path,路径如下所示:
/outputpath/thenfilefromloader/to/folder/goes/here/nameoffile.cshtml
我想做的是,或多或少地在进入后拆分字符串
并使用输出路径concat:
/outputpath/goes/here/nameoffile.cshtml
这甚至可以实现吗?基本上,我正在尝试摆脱gulp,这些文件只是用gulp复制的,就是这样,但是路径在复制之前就被操纵了。如果我得到了您想要做的,用定义的路径替换[path]
占位符应该可以:
{
test: /\.cshtml$/,
use : [{
loader : 'file-loader',
options : {
name : 'goes/here/[name].[ext]',
}
}]
}
您还可以添加一个hash
占位符以避免文件名冲突:
name : 'goes/here/[name].[hash].[ext]',
是的,但是它需要对每个文件都是动态的,有一些基于目录的规则文件加载器给了你很大的灵活性。我从来没有尝试过自己,但它也应该接受一个函数,因为它在引擎罩下使用。