我正在使用自耕农generator-angular-fullstack
。它的grunt构建任务将缩小,连接并创建加速文件。
现在我想进一步改进它,我打算将这些加速文件上传到s3并替换我的index.html中的网址。
完成的html文件中的路径是
<script src="app/9083921.app.js"></script>
我想用
替换它们 <script src="http://cdn/9083921.app.js"></script>
我将grunt-aws-s3
用于将文件上传到s3,这是令人兴奋的。
现在将其替换为index.html文件
我尝试了grunt-replace
,grunt-text-replace
,grunt-regex-replace
,似乎没有一个在我的案例中起作用。我使用/app\/(.*)\.(js|css)/g
作为http://path/$1.$2
尝试使用正则表达式。没有工作
grunt-processhtml
已包含在生成器中,有助于获取文件夹中的所有文件。像这样
<!-- build:css(client) app/app.css -->
所以我无法使用grunt-processhtml
来重写路径
是否有任务要做这件事或我做错了什么。
编辑我的cdnify任务
cdnify: {
dev: {
options: {
base: '//cdn.com/'
},
files: [{
expand: true,
cwd: 'dist',
src: 'public/app/index.html',
dest: 'dist'
}]
}
},
答案 0 :(得分:1)
你试过grunt-cdnify吗?它几乎应该涵盖你:
用于重写HTML和CSS中的静态资源URL的Grunt插件。
它做什么
该任务在以下位置查看指定文件中的URL以进行重写:
<img src="____">
<script src="____"></script>
CSS中的
<link rel="stylesheet" href="____">
background-image: url(____);
(包括HTML中的内部标记)
基本任务也非常简单:
cdnify: {
someTarget: {
options: {
base: '//cdn.example.com/stuff/'
},
files: [{
expand: true,
cwd: 'app',
src: '**/*.{css,html}',
dest: 'dist'
}]
}
}