我在弹出的create-react-app的多阶段Dockerfile中遇到一些问题。Dockerfile列出如下:
FROM node:9.6.1 as builder
RUN mkdir /usr/src/app
WORKDIR /usr/src/app
ENV PATH /usr/src/app/node_modules/.bin:$PATH
COPY package.json /usr/src/app/package.json
RUN npm install --silent
COPY . /usr/src/app
RUN npm run build
FROM nginx:1.13.9-alpine
COPY --from=builder /usr/src/app/build /usr/share/nginx/html
EXPOSE 80
Run Code Online (Sandbox Code Playgroud)
Dockerfile成功运行,直到到达步骤10(COPY),并在其中抛出以下错误:
COPY failed: stat /var/lib/docker/overlay2/2fc8af4cb8db9777246cae48721d8a93917c73e415a02680f1e3a73c8780b903/merged/usr/src/app/build: no such file or directory
Run Code Online (Sandbox Code Playgroud)
我已经用谷歌搜索,但是找不到明确的答案。有没有人经历过类似的经历?
首先,如果这是一个糟糕的问题/做法,我们深表歉意。我对 Laravel 很陌生,所以我仍在掌握它。
我试图在 Laravel 5 路由中传递一个包含正斜杠 (/) 和反斜杠 () 的变量,但遇到了一些困难。
我使用的是以下情况:api.dev/api/v1/service/DfDte\/uM5fy582WtmkFLJg==。
尝试 1:
我的第一次尝试使用了以下代码,结果自然是 404。
路线:
Route::group(array('prefix' => 'api/v1'), function() {
Route::resource('service', 'ServiceController');
});
Run Code Online (Sandbox Code Playgroud)
控制器:
public function show($service) {
return $service;
}
Run Code Online (Sandbox Code Playgroud)
结果:
404
Run Code Online (Sandbox Code Playgroud)
尝试 2:
我在 StackOverflow 上做了一些搜索并最终使用了以下代码,这几乎可以工作,但是,它似乎正在将 \ 转换为 /。
路线:
Route::group(array('prefix' => 'api/v1'), function() {
Route::get('service/{slashData}', 'ServiceController@getData')
->where('slashData', '(.*)');
});
Run Code Online (Sandbox Code Playgroud)
控制器:
public function getData($slashData = null) {
if($slashData) {
return $slashData;
}
}
Run Code Online (Sandbox Code Playgroud)
结果:
DfDte//uM5fy582WtmkFLJg==
Run Code Online (Sandbox Code Playgroud)
如您所见,它正在传递 var 但似乎正在将 \ 转换为 /。
我正在尝试创建一个 API,但不幸的是,我传递的变量超出了我的控制(例如,我不能简单地不使用 \ …
我对Chai很新,所以我仍然要掌握一切.
我编写的函数将检查API响应并返回正确的消息或抛出错误.
networkDataHelper.prototype.formatPostcodeStatus = function(postcodeStatus) {
if (postcodeStatus.hasOwnProperty("errorCode")) {
//errorCode should always be "INVALID_POSTCODE"
throw Error(postcodeStatus.errorCode);
}
if (postcodeStatus.hasOwnProperty("lori")) {
return "There appears to be a problem in your area. " + postcodeStatus.lori.message;
}
else if (postcodeStatus.maintenance !== null) {
return postcodeStatus.maintenance.bodytext;
}
else {
return "There are currently no outages in your area.";
}
};
Run Code Online (Sandbox Code Playgroud)
我已经设法为消息传递编写测试,但是,我正在努力进行错误测试.这是我迄今为止所写的内容:
var networkDataHelper = require('../network_data_helper.js');
describe('networkDataHelper', function() {
var subject = new networkDataHelper();
var postcode;
describe('#formatPostcodeStatus', function() {
var status = {
"locationValue":"SL66DY",
"error":false, …Run Code Online (Sandbox Code Playgroud)