我正在尝试#include <string>
#include <iostream>
int main()
{
std::string str = "An R&D string with one more R&D here and S&D or T&engrave; Some More T&D and &&engrave; and R&&D";
std::cout<<"original string is : "<<str<<std::endl;
int index = 0;
while(1)
{
std::string::size_type n = str.find("&",index);
if(n == std::string::npos)
break;
std::string sub = str.substr(n+1, 10);
std::string::size_type m = sub.find("&");
std::string::size_type b = sub.find(";");
if(m != std::string::npos && m<b)
{
auto temp = sub.substr(0,m-1);
sub = temp;
}
if(sub.find(";") == std::string::npos)
{
str.replace(n, 1, "&");
}
index = n+1;
}
std::cout<<"changed string is : "<<str<<std::endl;
}
。我一直得到“路径必须是字符串”错误。
这是我的grunt-browserify
任务:
browserify
这会返回browserify: {
dist: {
files: {
"build/Hotspot.js" : ["lib/**/*.js"]
},
options: {
transform: ["babelify", {
presets: "es2015"
}]
}
}
},
错误。但是,如果我将Path must be a string
更改为
files
任务运行,但似乎没有任何代码被编译或捆绑。 "build/Hotspot.js" : ["/lib/**/*.js"]
只是标准的browserify错误处理,没有别的。
在设置build/Hotspot.js
时,我做错了吗?
编辑1:我应该注意Gruntfile
存在并且其中包含文件。此外,lib/
会产生相同的错误。
答案 0 :(得分:1)
我认为解决方案的线索在grunt-browserify docs,特别是:
变换也可以提供选项哈希;在这种情况下, 变换应指定为[transformStringOrFn的数组, optionsHash]。
我认为这告诉我们为了将选项哈希传递给变换,options.tranform
值必须是数组数组:
transform: [
["babelify", { presets: "es2015" }]
]