gpt4 book ai didi

node.js - Electron 应用程序未找到包中包含的 CSS/JS

转载 作者:搜寻专家 更新时间:2023-10-31 22:38:22 24 4
gpt4 key购买 nike

我有一个通过 Electron 打包的 HTML5 网络应用程序。我正在通过 gulp-electron 打包。

我遇到的问题是,在构建应用程序并运行它时,没有加载 index.html 文件中引用的任何 CSS 或 JS 文件。

我可以看到 Assets 包含在构建中,并且是 .app 包的一部分,位于 myapp.app/Contents/Resources/app/文件夹中。

事实上,如果我 cd 到那个目录并运行一个 Node 网络服务器 (httpster),应用程序以这种方式运行良好。

这是我的 CSS/JS 的引用方式:

<!-- CSS -->
<link rel="stylesheet" href="./bower_components/bootstrap/dist/css/bootstrap.min.css" type="text/css" media="screen">
<link rel="stylesheet" type="text/css" href="./styles/style.css" />
<link rel="stylesheet" href="./bower_components/angular-ui/build/angular-ui.min.css" type="text/css" media="screen">

<!-- Vendors -->
<script type="text/javascript" src="./js/nonangular/jquery-1.11.2.min.js"></script>
<script type="text/javascript" src="./js/nonangular/jquery-1.11.2.min.js"></script>

<script src="./bower_components/bootstrap/dist/js/bootstrap.min.js" type="text/javascript" charset="utf-8"></script>
<link rel="stylesheet" href="./bower_components/angular-ui/build/angular-ui.min.css" type="text/css" media="screen">


<!-- Non-angular libraries -->
<script type="text/javascript" src="./js/nonangular/lodash.min.js"></script>
<script type="text/javascript" src="./js/scripts.js"></script>

<!-- Angular external libraries for application -->
<script type="text/javascript" src="./node_modules/angular/angular.js"></script>
<script type="text/javascript" src="./node_modules/angular-route/angular-route.js"></script>
<script type="text/javascript" src="./node_modules/angular-sanitize/angular-sanitize.js"></script>
<script type="text/javascript" src="./node_modules/angular-animate/angular-animate.js"></script>
<script src="./bower_components/angular-ui/build/angular-ui.min.js" type="text/javascript"></script>
<script src="./node_modules/angular-ui-bootstrap/dist/ui-bootstrap.js" type="text/javascript" charset="utf-8"></script>
<script src="./node_modules/angular-ui-bootstrap/dist/ui-bootstrap-tpls.js" type="text/javascript" charset="utf-8"></script>

<script src="./bower_components/angular-activity-monitor/activity-monitor.min.js" type="text/javascript"></script>

<!-- Angular components -->
<!-- build:appcomponents js/appcomponents.js -->
<script type="text/javascript" src="./js/app.js"></script>
<script type="text/javascript" src="./js/config.js"></script>
<script type="text/javascript" src="./components/directives/main.nav.directive.js"></script>

<!-- Application sections -->
<!-- build:mainapp js/mainapp.js -->
<script type="text/javascript" src="./js/controller.js"></script>
<script src="./components/main/mainController.js" type="text/javascript" charset="utf-8"></script>

我已经尝试更改路径以在引用无效的文件夹之前不包含“./”。

我的 Gulpfile Electron 任务如下所示:

gulp.task('electron', function() {

gulp.src("")
.pipe(electron({
src: './app',
packageJson: packageJson,
release: './release',
cache: './cache',
version: 'v0.36.10',
packaging: true,
platforms: ['win32-ia32', 'darwin-x64'],
platformResources: {
darwin: {
CFBundleDisplayName: packageJson.name,
CFBundleIdentifier: packageJson.name,
CFBundleName: packageJson.name,
CFBundleVersion: packageJson.version,
icon: './app/gulp-electron.icns'
},
win: {
"version-string": packageJson.version,
"file-version": packageJson.version,
"product-version": packageJson.version,
"icon": './app/gulp-electron.ico'
}
}
}))
.pipe(gulp.dest(""));
});

我的应用程序文件夹结构如下所示:

enter image description here

令人沮丧的是,我已经在另一个项目中使用了这个确切的设置,并且可执行文件工作正常,并且能够很好地访问捆绑在 .app 包中的所有 Assets 。

最佳答案

事实证明路径存在一些问题。

首先,CSS 使用相对路径来引用图像。将其切换为绝对路径就可以了。这与指令的问题相同。用绝对路径切换相对路径就可以解决问题。

最后,实际的 CSS 和 JS 文件没有被加载看起来是因为在主 index.html 中有这个:

    <base href="/">

这是在搞乱事情。删除允许 CSS 和 JS 正确加载。

关于node.js - Electron 应用程序未找到包中包含的 CSS/JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35879290/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com