- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在构建后无法呈现我的 VueJS 应用程序。当我查看构建文件夹并检查路径时,我的 Assets 、css 和 javascript 路径的开头有一个正斜杠。这使得我的 css、 Assets 和 javascript 无法找到。我想知道如何在运行构建脚本之前避免此问题。谢谢。这是我的代码:
App.vue
<template>
<div id="app">
<BaseTimer />
<!-- <PomodoroTimer /> -->
</div>
</template>
<script>
import BaseTimer from "./components/BaseTimer";
// import PomodoroTimer from "./components/PomodoroTimer";
export default {
name: "App",
components: {
BaseTimer
// PomodoroTimer
}
};
</script>
<style>
body {
background-color: #fff;
}
#app {
font-family: "Avenir", Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
width: 100%;
}
</style>
BaseTimer.vue(在 components 文件夹内 - 在 src 文件夹内)
<template>
<div class="base-timer">
<svg class="base-timer__svg" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<g class="base-timer__circle">
<circle class="base-timer__path-elapsed" cx="50" cy="50" r="45" />
<path
:stroke-dasharray="circleDasharray"
class="base-timer__path-remaining"
:class="remainingPathColor"
d="
M 50, 50
m -45, 0
a 45,45 0 1,0 90,0
a 45,45 0 1,0 -90,0
"
/>
</g>
</svg>
<span class="base-timer__label">{{ formattedTimeLeft }}</span>
<br />
<select name="timer-setter" id="timer-setter" @change="selectedTime($event)">
<option value selected disabled>---Select a Time---</option>
<option v-for="second in seconds" :value="second.value" v-bind:key="second.id">{{second.text}}</option>
</select>
<button id="start" class="button is-dark is-large" @click="startTimer">GO</button>
<div class="pause-or-kill">
<!-- Pause Timer -->
<button id="stop" class="button is-dark is-large" @click="pauseTimer">Pause</button>
<!-- Restart Timer -->
<button id="reset" class="button is-dark is-large" @click="restartTimer">Restart</button>
<button id="kill" class="button" @click="kill">Reset</button>
</div>
</div>
</template>
<script>
let audio = new Audio(require("/assets/audio/ding.mp3"));
const FULL_DASH_ARRAY = 283;
const WARNING_THRESHOLD = 10;
const ALERT_THRESHOLD = 5;
const COLOR_CODES = {
info: {
color: "green"
},
warning: {
color: "orange",
threshold: WARNING_THRESHOLD
},
alert: {
color: "red",
threshold: ALERT_THRESHOLD
}
};
let TIME_LIMIT = null;
export default {
data() {
return {
timePassed: 0,
timerInterval: null,
seconds: [
{ id: 0, value: null, text: "--- Select a Time ---" },
{ id: 1, value: 20, text: "20 Seconds" },
{ id: 2, value: 30, text: "30 Seconds" },
{ id: 3, value: 60, text: "1 Minute" },
{ id: 4, value: 120, text: "2 Minutes" },
{ id: 5, value: 300, text: "5 Minutes" },
{ id: 6, value: 600, text: "10 Minutes" },
{ id: 7, value: 900, text: "15 Minutes" },
{ id: 8, value: 1800, text: "30 Minutes" },
{ id: 9, value: 3600, text: "1 Hour" }
]
};
},
computed: {
circleDasharray() {
return `${(this.timeFraction * FULL_DASH_ARRAY).toFixed(0)} 283`;
},
formattedTimeLeft() {
const timeLeft = this.timeLeft;
const minutes = Math.floor(timeLeft / 60);
let seconds = timeLeft % 60;
if (seconds < 10) {
seconds = `0${seconds}`;
}
return `${minutes}:${seconds}`;
},
timeLeft() {
return TIME_LIMIT - this.timePassed;
},
timeFraction() {
const rawTimeFraction = this.timeLeft / TIME_LIMIT;
return rawTimeFraction - (1 / TIME_LIMIT) * (1 - rawTimeFraction);
},
remainingPathColor() {
const { alert, warning, info } = COLOR_CODES;
if (this.timeLeft <= alert.threshold) {
return alert.color;
} else if (this.timeLeft <= warning.threshold) {
return warning.color;
} else {
return info.color;
}
}
},
watch: {
timeLeft(newValue) {
if (newValue === 0) {
this.onTimesUp();
}
}
},
// startTimer() {
// this.startTimer();
// },
methods: {
onTimesUp() {
clearInterval(this.timerInterval);
audio.play();
setTimeout(function() {
location.reload();
}, 2000);
},
startTimer() {
this.timerInterval = setInterval(() => (this.timePassed += 1), 1000);
},
restartTimer() {
clearInterval(this.timerInterval);
this.timerInterval = setInterval(() => (this.timePassed += 1), 1000);
},
pauseTimer() {
clearInterval(this.timerInterval);
},
kill() {
clearInterval(this.timerInterval);
location.reload();
},
selectedTime(event) {
console.log(event.target.value);
TIME_LIMIT = event.target.value;
}
}
};
</script>
<style scoped lang="scss">
.base-timer {
position: relative;
width: 300px;
height: 300px;
&__svg {
transform: scaleX(-1);
}
&__circle {
fill: none;
stroke: none;
}
&__path-elapsed {
stroke-width: 7px;
stroke: grey;
}
&__path-remaining {
stroke-width: 7px;
stroke-linecap: round;
transform: rotate(90deg);
transform-origin: center;
transition: 1s linear all;
fill-rule: nonzero;
stroke: currentColor;
&.green {
color: rgb(65, 184, 131);
}
&.orange {
color: orange;
}
&.red {
color: red;
}
}
&__label {
position: absolute;
width: 300px;
height: 300px;
top: 0;
display: flex;
align-items: center;
justify-content: center;
font-size: 48px;
}
}
select {
margin-top: 30px;
margin-right: 15px;
padding: 15px;
border-radius: 8px;
background-color: rgb(65, 184, 131);
color: #fff;
font-size: 18px;
-webkit-box-shadow: 10px 10px 20px -8px rgba(0, 0, 0, 0.75);
-moz-box-shadow: 10px 10px 20px -8px rgba(0, 0, 0, 0.75);
box-shadow: 10px 10px 20px -8px rgba(0, 0, 0, 0.75);
}
button {
padding: 15px;
font-size: 18px;
background-color: rgb(65, 184, 131);
border-radius: 8px;
color: #fff;
-webkit-box-shadow: 10px 10px 20px -8px rgba(0, 0, 0, 0.75);
-moz-box-shadow: 10px 10px 20px -8px rgba(0, 0, 0, 0.75);
box-shadow: 10px 10px 20px -8px rgba(0, 0, 0, 0.75);
outline: none;
}
.pause-or-kill {
margin-top: 20px;
}
</style>
src 文件夹中的 index.html
<!DOCTYPE html>
<html>
<head>
<title>Vue Parcel</title>
<meta charset="utf-8">
</head>
<body>
<div id="app"></div>
<script src="index.js"></script>
</body>
</html>
src 文件夹中的 index.js
import Vue from "vue";
import App from "./App.vue";
Vue.config.productionTip = false;
new Vue({
render: h => h(App)
}).$mount("#app");
最佳答案
默认情况下,路径指向服务器根目录。这意味着 /
如果在 Apache/node 等网络服务器上静态提供文件,或者如果双击 Windows 甚至直接在 c:\
中提供文件,例如。
假设您使用的是 Vue CLI,您可以使用 publicPath
在元素根目录中编辑或创建 vue.config.js
来配置此位置:
module.exports = {
publicPath: process.env.NODE_ENV === 'production'
? '/your/path/to/dist/'
: '/'
}
这让 Vue 按预期在 /
服务开发服务器,并在生产中使用其他路径。如果您想知道,CLI 会自动设置 process.env.NODE_ENV
。修改此文件后不要忘记重建。
关于javascript - 找不到 CSS 和 JS 的 Vue dist 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60331499/
在基于 Dist::Zilla 的发行版中,我想要一些仅用于测试但不安装的文件。这些是运行时不需要的模型库。 我该怎么做? 最佳答案 CPAN 发行版从不安装 t 和 xt 目录。您可以将测试和模拟库
想要编写适用于多个 Linux 发行版的脚本。还想添加检查命令,如果不存在则安装一些软件包。因此,需要一个解决方案来检查 Dist 名称(如 Debian 或 RedHat)以为此 Dist 执行正确
我正在处理我的 Net::Prober分发,使用 dzil .从下一个版本开始,我想强制执行 perl 5.10+ 的最低要求(是 5.006),因为我使用的是命名捕获 :-) 现在我放了use 5.
您的文件夹的首选标记方法是什么,以区分原始 Assets 和使用任务运行器缩小、连接等的 Assets ?我见过一堆组合,最受欢迎的是src and dist , src and build , de
运行此命令后“wwwroot/dist”和“ClientApp/dist”文件夹有什么区别以及如何正确使用它们? dotnet publish -c Release 最佳答案 wwwroot/dist
我刚刚升级到 cabal 1.22.0.0。我创建了一个全新沙箱,并添加了另一个本地包的链接,如下所示: cabal sandbox add-source /home/amy/néal/créatúr
我有一个使用 Universal 的 Anugular 6 应用程序。 通用/服务器端渲染在本地工作。 我想知道如何将此应用程序部署到 azure 。考虑到它有两个 dist 文件夹(dist、dis
我已经提取了以前在另一台计算机上运行的现有 ASP.NET Core 应用程序。 当我在这台计算机上运行应用程序时,出现以下错误: AggregateException: One or more er
我试图将我的 Angular 5 代码迁移到 Angular 6。 执行 npm 后开始出现以下问题 npm start WARNING in ./node_modules/pdfjs-
/~/@ReMix-Run/Router/dist/router.cjs.js模块分析失败:/HOME/sharib/Desktop/Full Stack Developer Tutorial/MER
我正在尝试启动并运行 J2ME Polish 示例项目,但很困难。 我正在使用带有 J2ME Polish 插件的 Netbeans 8.0.2。 当我尝试创建 J2ME Polish 项目 ( Fi
Bable 只能生成 js 文件(在 dist 文件夹中),而不生成项目目录中的其他文件(如 html、css ..)。我正在使用“build”:“babel source -d dist”。 最佳答
我需要帮助,因为我在过去 2-3 天试图解决这个问题.. 我正在 Windows-7(64 位)机器上设置 Hadoop。这是为了尝试R与Hadoop的集成。 我按照 URL - http://www
我正在尝试了解gradle的分布。在7.3.3.4节 gradle documentation 中,有以下代码示例: task dist(type: Zip) { dependsOn spiJ
我想在分发期间复制一个装满 Assets 的文件夹到我的可执行文件旁边。我如何在 .cabal 文件(或者 Setup.hs)中表示它? 目录结构: root/ dist/ -- Genera
我正在构建一个自己的工具来编译相关的js文件(用ES6编写)并将其打包到一个包中。到目前为止,它与本地文件的预期一致,但是当我涉及公共(public)模块时,例如,react 和 redux 等,情况
我正在使用 gulp 为我的 Angular 应用构建分发 (dist) 文件夹。 所以我已经收集了所有 Controller /服务 JS 文件以及我的 CSS,现在我需要处理 bower 文件夹的
我有两个带有元组(坐标)的列表,例如: some_pt1 = [(10.76,2.9),(3.24,4.28),(7.98,1.98),(3.21,9.87)] some_pt2 = [(11.87,
注意 我是新手,刚刚通过编写这段代码“吹嘘”我的方式 我在用什么 - Angular(使用 Angular Cli) - 火力基地 问题/疑虑 当我运行“ng build --watch”时,它会创建
我的大多数 JavaScript 项目都有一个包含源文件的文件夹 lib 和一个包含项目构建的文件夹 dist。 我使用 WebStorm(很棒的 IDE!),并且 WebStorm 的代码检查器和代
我是一名优秀的程序员,十分优秀!