git clone [email protected]:YOUR-USERNAME/YOUR-FORKED-REPO.git
cd into/cloned/fork-repo
git remote add upstream git://github.com/ORIGINAL-DEV-USERNAME/REPO-YOU-FORKED-FROM.git
git fetch upstream
#!/bin/bash | |
sudo apt-get install curl wget vim unzip tasksel | |
sudo tasksel install lamp-server | |
sudo add-apt-repository ppa:ondrej/php | |
sudo apt-get update | |
sudo apt install php5.6 libapache2-mod-php5.6 \ |
git clone [email protected]:YOUR-USERNAME/YOUR-FORKED-REPO.git
cd into/cloned/fork-repo
git remote add upstream git://github.com/ORIGINAL-DEV-USERNAME/REPO-YOU-FORKED-FROM.git
git fetch upstream
FROM node:carbon | |
# Создать директорию app | |
WORKDIR /app | |
# Установить зависимости приложения | |
# Используется символ подстановки для копирования как package.json, так и package-lock.json, | |
# работает с npm@5+ | |
COPY package*.json ./ |
FROM node:carbon | |
# Создать директорию app | |
WORKDIR /app | |
# Установить nodemon для горячей перезагрузки | |
RUN npm install -g nodemon | |
# Установить зависимости приложения | |
# Используется символ подстановки для копирования как package.json, так и package-lock.json, |
FROM node:carbon | |
# Создать директорию app | |
WORKDIR /app | |
# Установить зависимости приложения | |
RUN npm -g install serve | |
# Используется символ подстановки для копирования как package.json, так и package-lock.json | |
COPY package*.json ./ |
FROM node:carbon | |
# Создать директорию app | |
WORKDIR /app | |
# Установить зависимости приложения | |
# RUN npm -g install serve | |
# Используется символ подстановки для копирования как package.json, так и package-lock.json | |
COPY package*.json ./ |
# ---- Базовый Node ---- | |
FROM node:carbon AS base | |
# Создать директорию app | |
WORKDIR /app | |
# ---- Зависимости ---- | |
FROM base AS dependencies | |
# Используется символ подстановки для копирования как package.json, так и package-lock.json | |
COPY package*.json ./ | |
# Установить зависимости приложения, включая предназначенные для разработки ('devDependencies') |
export default { | |
// Включает абстрактный компонент во Vue. | |
// Это свойство не задокументировано и может измениться в любой момент, | |
// но ваш компонент должен работать без него. | |
abstract: true, | |
// Входные параметры отлично работают в абстрактных компонентах! | |
props: { | |
threshold: { | |
type: Array |
import { shallowMount } from '@vue/test-utils' | |
import MessageToggle from '@/components/MessageToggle.vue' | |
describe('MessageToggle.vue', () => { | |
it('displays default message', () => { | |
const wrapper = shallowMount(MessageToggle) | |
expect(wrapper.text()).toContain('default message') | |
}) | |
}) |
import { mount } from '@vue/test-utils' | |
import MessageToggle from '@/components/MessageToggle.vue' | |
describe('MessageToggle.vue', () => { | |
it('displays default message', () => { | |
const wrapper = mount(MessageToggle) | |
expect(wrapper.text()).toContain('default message') | |
}) | |
it('toggles message when button is clicked', () => { |