Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用Grunt替换替换HTML标记_Javascript_Regex_Gruntjs_Build Process - Fatal编程技术网

Javascript 用Grunt替换替换HTML标记

Javascript 用Grunt替换替换HTML标记,javascript,regex,gruntjs,build-process,Javascript,Regex,Gruntjs,Build Process,我正在处理一个grunt文件。我们在本地使用html格式的文件,当我们将它们实现到CMS中时,它们需要转换为aspx 我正在尝试用替换的所有实例 我正在使用“grunt替换”:“^0.8.0”。此任务在默认和生成下注册。我已经尝试使用正则表达式来匹配名称,并且我查看文档的时间太长了。下面是我的grunt文件和replace的样子: replace: { dist: { options: { patterns: [ {

我正在处理一个grunt文件。我们在本地使用html格式的文件,当我们将它们实现到CMS中时,它们需要转换为aspx

我正在尝试用
替换
的所有实例

我正在使用“grunt替换”:“^0.8.0”。此任务在默认和生成下注册。我已经尝试使用正则表达式来匹配名称,并且我查看文档的时间太长了。下面是我的grunt文件和replace的样子:

replace: {
      dist: {
        options: {
          patterns: [
            {
              match: '/script src="/g',
              replacement: function() {
                'asp:PlaceHolder runat="server" url="';
              }
            }
          ]
        },
        files: [
          {expand: true, flatten: true, src: ['<%= config.dist %>/index.html'], dest: 'dist/'}
        ]
      }
    },
替换:{
地区:{
选项:{
模式:[
{
匹配:'/script src=“/g”,
替换:函数(){
'asp:PlaceHolder runat=“server”url=“”;
}
}
]
},
档案:[
{expand:true,flatten:true,src:['/index.html'],dest:'dist/'}
]
}
},

您没有提到当前得到的结果,因此我假设您看到的脚本标记只是被截断或“未定义”在脚本标记的剩余部分前面

我发现测试正则表达式很有用


在Matthew Kime的帮助下,尝试将您的匹配项更改为-
”/,我成功地实现了这一点。在我的正则表达式中,我必须搜索两个句点,因为我使用grunt rev来对文件进行版本设置。我还使用去掉扩展名的文件名来动态命名文件

这是我能够得出的结论

// replace script tags to imod placeholders
    replace: {
      dist: {
        options: {
          patterns: [
            {
              match: /<script src=\"(.*\/)(.+?)\.(.+?)\.js\"><\/script>/g,
              replacement: '<imod:ScriptPlaceHolder id="$2$3" type="FileInclude" url="$1$2.$3.js" runat="server"></imod:ScriptPlaceHolder>'
            }
          ]
        },
        files: [
          {expand: true, flatten: true, src: ['<%= config.dist %>/index.html'], dest: 'dist/'}
        ]
      }
    },
//将脚本标记替换为imod占位符
替换:{
地区:{
选项:{
模式:[
{
匹配://g,
替换:“”
}
]
},
档案:[
{expand:true,flatten:true,src:['/index.html'],dest:'dist/'}
]
}
},

您需要退货的说法完全正确。我会把你包含的链接加入书签,这非常有用。啊,我用那个正则表达式处理了你的数据提取。