升级到 1.9 后,编辑器 1.5 到 1.91 构建文件丢失
After upgrade to 1.9 and editor 1.5 to 1.91 build file is missing
../build 中的 Pub Build 生成的文件是(直到昨天我升级时):
fireimager_server.dart
fireimager_server.dart.js.map
fireimager_server.dart.js
packages
升级到 Dart 1.9 和编辑器到 1.91 后
fireimager_server.dart
丢失,我无法从脚本启动 My_Server.dart。
在构建中报告的唯一问题是几个声明但未使用的变量。
这是怎么回事?
我现在唯一的解决方法是从备份恢复到较早的日期并丢失我的编辑。
编辑
yaml file contents November 2014
name: Server
version: 0.7.1
author: Robert Lockwood
description: A sample web application
dependencies:
browser: any
http_server: any
intl: any
io: any
json: any
json_object: any
logging: any
logging_handlers: any
route: any
typed_data: any
fireimager.html 文件:
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<title>FireImager</title>
<meta name="description" content="FireImager control GUI">
<meta name="author" content="Robert N Lockwood">
<link rel='stylesheet' type="text/css" media="screen" href='fireimager.css'>
<!-- <link rel="shortcut icon" href="/favicon.ico"> -->
</head>
<body>
<div id='main-box'>
<section>
<div id='top-box'>
<div id='img-box'>
<div id='image-div'>
<div id='imgAnchor'>
<img alt='' id='image' src='resources/fi_12_demo.png'
height='480' width='640'>
</div>
</div>
</div>
<div id='right-container-box'>
<div id='log-box'>
<textarea id='log-area' readonly placeholder='Activity Log'
cols="1" rows="1"></textarea>
</div>
<div id='button-box'>
<div class='btn-row-container'>
<button class='command-btn' type='button'
id='modeToggle-btn'>Mapping</button>
<button class='command-btn' type='button'
id='calibrate-btn'>Calibrate</button>
</div>
<div class='btn-row-container'>
<button class='command-btn' type='button'
id='close-door-btn'>Open Door</button>
<button class='command-btn' type='button'
id='tools-btn'>Tools</button>
</div>
<div class='btn-row-container'>
<button class='command-btn' type='button'
id='mosaic-btn'>New Mosaic</button>
<button class='command-btn' type='button'
id='terrain-btn'>Terrain View</button>
</div>
<div class='btn-row-container'>
<button class='command-btn' type='button'
id='reset-btn'>Update</button>
<button class='command-btn' type='button'
id='shutdown-btn'>Shutdown</button>
</div>
</div>
<!-- <div id='app-name-box'>PSW FireImager</div> -->
</div>
</div>
</section>
<section>
<div id='bottom-box'>
<div class='toolbar' id='toolbar-top'>
<div id='camera-status'>Camera Not Ready</div>
<div id='busy-led'> </div>
<div id='radio-btns' class='radio-btns'>
<input id='B12' type='radio' name='radio-btn' checked>
<label id='lblB12' class='radiobutton-label' for='B12'>Fire </label>
<input id='BWB' type='radio' name='radio-btn' >
<label id='lblBBW' class='radiobutton-label' for='BWB'>Wide</label>
<input id='B10' type='radio' name='radio-btn' >
<label id='lblB10' class='radiobutton-label' for='B10'>B10</label>
<input id='B08' type='radio' name='radio-btn' >
<label id='lblB8' class='radiobutton-label' for='B08'>B8 </label>
</div>
<div id='record-pause'>Record Paused</div>
</div>
<div class='toolbar' id='toolbar-bottom'>
<div id='time-lbl'>Local</div>
<div id='time-date-text' class='output-box-text'> </div>
<div id='mission-div'>
<label for='mission'>Mission</label> <input id='mission'
placeholder='Mission name' type='text'>
</div>
<div id='image-period-div'>
<label for='img-period'>Period</label>
<input id='img-period' placeholder='3.500' type='text'>
<label for='img-period' id='period-lbl'> sec</label>
</div>
<div id='mosaic-lbl' class='output-box-text'>Mosaic</div>
<div id='mosaic-number-div' class='output-box-text'>1</div>
<div id='imageID-lbl'>ImageID</div>
<div id='ImageID-div' class='output-box-text'>0</div>
</div>
</div>
<div id='icon-box'><img alt='' id='icon' src='resources/FS-Shield-Transparent.png'
height='80' width='72'></div>
</section>
</div>
<script type='application/dart' src='fireimager.dart'></script>
<script src='packages/browser/dart.js' type="text/javascript"></script>
</body>
</html>
DartEditor 中现在有两个 Pub Build
菜单,也许您使用了第一个 Pub Build - minified
,它不会复制 Dart 文件。如果您 运行 Pub Build - Debug
Dart 文件可能会被复制(不确定,因为我从来没有以这种方式用于服务器端脚本)。
如果您将 fireimager_server.dart
文件移动到您的包的 bin
目录中,那么您可以 运行 使用 dart bin/fireimager_server.dart
或者您可以手动将其复制到构建目录。
根据包布局指南,bin
目录是服务器端脚本的正确目录。
如果它之前被复制到 build
,则表明您将它放在 web
目录中,这不是服务器端 Dart 的正确位置。
更新
您通常使用 Pub Build - minified
进行生产。 Pub Build
的输出应该提供给浏览器,不应包含 fireimager_server.dart
。 fireimager_server.dart
脚本是一个服务器应用程序,需要以不同方式部署。因此它应该进入 bin
目录。目前没有完美的服务器端部署选项,只是将您的包复制到服务器,运行 pub get
应该这样做,这样您就可以 运行 服务器使用 dart bin/fireimager_server.dart
。如果 fireimager_server.dart
充当 Web 服务器并提供构建输出,则此部署变体也可以正常工作。只需使用 build
作为静态目录。
../build 中的 Pub Build 生成的文件是(直到昨天我升级时):
fireimager_server.dart
fireimager_server.dart.js.map
fireimager_server.dart.js
packages
升级到 Dart 1.9 和编辑器到 1.91 后
fireimager_server.dart
丢失,我无法从脚本启动 My_Server.dart。
在构建中报告的唯一问题是几个声明但未使用的变量。
这是怎么回事?
我现在唯一的解决方法是从备份恢复到较早的日期并丢失我的编辑。
编辑
yaml file contents November 2014
name: Server
version: 0.7.1
author: Robert Lockwood
description: A sample web application
dependencies:
browser: any
http_server: any
intl: any
io: any
json: any
json_object: any
logging: any
logging_handlers: any
route: any
typed_data: any
fireimager.html 文件:
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<title>FireImager</title>
<meta name="description" content="FireImager control GUI">
<meta name="author" content="Robert N Lockwood">
<link rel='stylesheet' type="text/css" media="screen" href='fireimager.css'>
<!-- <link rel="shortcut icon" href="/favicon.ico"> -->
</head>
<body>
<div id='main-box'>
<section>
<div id='top-box'>
<div id='img-box'>
<div id='image-div'>
<div id='imgAnchor'>
<img alt='' id='image' src='resources/fi_12_demo.png'
height='480' width='640'>
</div>
</div>
</div>
<div id='right-container-box'>
<div id='log-box'>
<textarea id='log-area' readonly placeholder='Activity Log'
cols="1" rows="1"></textarea>
</div>
<div id='button-box'>
<div class='btn-row-container'>
<button class='command-btn' type='button'
id='modeToggle-btn'>Mapping</button>
<button class='command-btn' type='button'
id='calibrate-btn'>Calibrate</button>
</div>
<div class='btn-row-container'>
<button class='command-btn' type='button'
id='close-door-btn'>Open Door</button>
<button class='command-btn' type='button'
id='tools-btn'>Tools</button>
</div>
<div class='btn-row-container'>
<button class='command-btn' type='button'
id='mosaic-btn'>New Mosaic</button>
<button class='command-btn' type='button'
id='terrain-btn'>Terrain View</button>
</div>
<div class='btn-row-container'>
<button class='command-btn' type='button'
id='reset-btn'>Update</button>
<button class='command-btn' type='button'
id='shutdown-btn'>Shutdown</button>
</div>
</div>
<!-- <div id='app-name-box'>PSW FireImager</div> -->
</div>
</div>
</section>
<section>
<div id='bottom-box'>
<div class='toolbar' id='toolbar-top'>
<div id='camera-status'>Camera Not Ready</div>
<div id='busy-led'> </div>
<div id='radio-btns' class='radio-btns'>
<input id='B12' type='radio' name='radio-btn' checked>
<label id='lblB12' class='radiobutton-label' for='B12'>Fire </label>
<input id='BWB' type='radio' name='radio-btn' >
<label id='lblBBW' class='radiobutton-label' for='BWB'>Wide</label>
<input id='B10' type='radio' name='radio-btn' >
<label id='lblB10' class='radiobutton-label' for='B10'>B10</label>
<input id='B08' type='radio' name='radio-btn' >
<label id='lblB8' class='radiobutton-label' for='B08'>B8 </label>
</div>
<div id='record-pause'>Record Paused</div>
</div>
<div class='toolbar' id='toolbar-bottom'>
<div id='time-lbl'>Local</div>
<div id='time-date-text' class='output-box-text'> </div>
<div id='mission-div'>
<label for='mission'>Mission</label> <input id='mission'
placeholder='Mission name' type='text'>
</div>
<div id='image-period-div'>
<label for='img-period'>Period</label>
<input id='img-period' placeholder='3.500' type='text'>
<label for='img-period' id='period-lbl'> sec</label>
</div>
<div id='mosaic-lbl' class='output-box-text'>Mosaic</div>
<div id='mosaic-number-div' class='output-box-text'>1</div>
<div id='imageID-lbl'>ImageID</div>
<div id='ImageID-div' class='output-box-text'>0</div>
</div>
</div>
<div id='icon-box'><img alt='' id='icon' src='resources/FS-Shield-Transparent.png'
height='80' width='72'></div>
</section>
</div>
<script type='application/dart' src='fireimager.dart'></script>
<script src='packages/browser/dart.js' type="text/javascript"></script>
</body>
</html>
DartEditor 中现在有两个 Pub Build
菜单,也许您使用了第一个 Pub Build - minified
,它不会复制 Dart 文件。如果您 运行 Pub Build - Debug
Dart 文件可能会被复制(不确定,因为我从来没有以这种方式用于服务器端脚本)。
如果您将 fireimager_server.dart
文件移动到您的包的 bin
目录中,那么您可以 运行 使用 dart bin/fireimager_server.dart
或者您可以手动将其复制到构建目录。
根据包布局指南,bin
目录是服务器端脚本的正确目录。
如果它之前被复制到 build
,则表明您将它放在 web
目录中,这不是服务器端 Dart 的正确位置。
更新
您通常使用 Pub Build - minified
进行生产。 Pub Build
的输出应该提供给浏览器,不应包含 fireimager_server.dart
。 fireimager_server.dart
脚本是一个服务器应用程序,需要以不同方式部署。因此它应该进入 bin
目录。目前没有完美的服务器端部署选项,只是将您的包复制到服务器,运行 pub get
应该这样做,这样您就可以 运行 服务器使用 dart bin/fireimager_server.dart
。如果 fireimager_server.dart
充当 Web 服务器并提供构建输出,则此部署变体也可以正常工作。只需使用 build
作为静态目录。