这时我要做的就是让项目运行。
我运行tns run android
该应用程序已构建,但在启动该应用程序时抛出错误
ReferenceError:未定义HTMLElement
因此,当我尝试引入新的nativescript主题核心(2.2.0)时,一切就开始了。我遵循了他们在多个地方发布的指南。一切看起来都不错。然后,我运行tns run android
,并第一次出现 HTMLElement未定义 错误。
然后我决定再次开始,着手进行一个干净的项目。请按照此处的步骤操作:https://nativescript-vue.org/en/docs/getting-started/quick-start/
当我运行tns run android
时,即使我根本没有修改模板,仍然会遇到相同的 HTMLElement未定义 错误。< / p>
我不知道这是一个错误还是我做错了什么
tns-版本6.1.2
节点-v 12.10.0
npm -v 6.10.3
所以无论现在我做什么我都会收到此错误...
明智的代码,例如我说过的,该模板存储库为https://github.com/nativescript-vue/vue-cli-template
这是堆栈。
User-MacBook-Pro:hello-world user$ tns run android
Searching for devices...
Preparing project...
Bundling application for entryPath ./main...
File change detected. Starting incremental webpack compilation...
webpack is watching the files…
[BABEL] Note: The code generator has deoptimised the styling of /Users/scottbaron/Mos-Commodo/social-platform/peak-app/peak-matching/node_modules/@vue/devtools/build/backend.js as it exceeds the max of 500KB.
Hash: d11e779b2f173a00da85
Version: webpack 4.27.1
Time: 13195ms
Built at: 11/02/2019 10:57:09 AM
Asset Size Chunks Chunk Names
assets/images/NativeScript-Vue.png 8.22 KiB [emitted]
bundle.js 84.3 KiB bundle [emitted] bundle
package.json 165 bytes [emitted]
runtime.js 71.4 KiB runtime [emitted] runtime
tns-java-classes.js 0 bytes [emitted]
vendor.js 9.45 MiB vendor [emitted] vendor
Entrypoint bundle = runtime.js vendor.js bundle.js
[./ sync ^\.\/app\.(css|scss|less|sass)$] . sync nonrecursive ^\.\/app\.(css|scss|less|sass)$ 175 bytes {bundle} [built]
[./ sync recursive (?<!\bApp_Resources\b.*)\.(xml|css|js|(?<!\.d\.)ts|(?<!\b_[\w-]*\.)scss)$] . sync (?<!\bApp_Resources\b.*)\.(xml|css|js|(?<!\.d\.)ts|(?<!\b_[\w-]*\.)scss)$ 204 bytes {bundle} [built]
[./app.scss] 18.5 KiB {bundle} [optional] [built]
[./main.js] 1.96 KiB {bundle} [built]
[./package.json] 146 bytes {bundle} [optional] [built]
[./store.js] 142 bytes {bundle} [built]
+ 208 hidden modules
Webpack compilation complete. Watching for file changes.
Webpack build done!
Project successfully prepared (android)
Building project...
Gradle build...
+ setting applicationId
+ applying user-defined configuration from /Users/scottbaron/Mos-Commodo/social-platform/peak-app/peak-matching/app/App_Resources/Android/app.gradle
+ using andorid X library androidx.legacy:legacy-support-v4:1.0.0
+ adding nativescript runtime package dependency: nativescript-optimized-with-inspector
+ adding aar plugin dependency: /Users/scottbaron/Mos-Commodo/social-platform/peak-app/peak-matching/node_modules/nativescript-socketio/platforms/android/fancylogger-release.aar
+ adding aar plugin dependency: /Users/scottbaron/Mos-Commodo/social-platform/peak-app/peak-matching/node_modules/tns-core-modules-widgets/platforms/android/widgets-release.aar
Project successfully built.
The build result is located at: /Users/scottbaron/Mos-Commodo/social-platform/peak-app/peak-matching/platforms/android/app/build/outputs/apk/debug/app-debug.apk
Installing on device 89EY06CQP...
Successfully installed on device with identifier '89EY06CQP'.
Restarting application on device 89EY06CQP...
System.err: An uncaught Exception occurred on "main" thread.
System.err: Unable to create application com.tns.NativeScriptApplication: com.tns.NativeScriptException: Error calling module function
System.err: ReferenceError: HTMLElement is not defined
System.err: File: "file:///node_modules/@vue/devtools/build/hook.js:517:28
System.err:
System.err: StackTrace:
System.err: Frame: function:'handleCopy', file:'file:///node_modules/@vue/devtools/build/hook.js:517:28
System.err: Frame: function:'clone', file:'file:///node_modules/@vue/devtools/build/hook.js:637:11
System.err: Frame: function:'', file:'file:///node_modules/@vue/devtools/build/hook.js:199:24
System.err: Frame: function:'on', file:'file:///node_modules/@vue/devtools/build/hook.js:145:11
System.err: Frame: function:'emit', file:'file:///node_modules/@vue/devtools/build/hook.js:179:17
System.err: Frame: function:'devtoolPlugin', file:'file:///node_modules/vuex/dist/vuex.esm.js:54:14
System.err: Frame: function:'Store', file:'file:///node_modules/vuex/dist/vuex.esm.js:356:4
System.err: Frame: function:'./store.js', file:'file:///app/store.js:6:15
System.err: Frame: function:'__webpack_require__', file:'file:///app/webpack/bootstrap:750:0
System.err: Frame: function:'fn', file:'file:///app/webpack/bootstrap:120:0
System.err: Frame: function:'', file:'file:///app/main.js:1:0
System.err: Frame: function:'./main.js', file:'file:///data/data/com.moscommodo.peak/files/app/bundle.js', line: 339, column: 30
System.err: Frame: function:'__webpack_require__', file:'file:///app/webpack/bootstrap:750:0
System.err: Frame: function:'checkDeferredModules', file:'file:///app/webpack/bootstrap:43:0
System.err: Frame: function:'webpackJsonpCallback', file:'file:///app/webpack/bootstrap:30:0
System.err: Frame: function:'', file:'file:///data/data/com.moscommodo.peak/files/app/bundle.js', line: 2, column: 57
System.err: Frame: function:'require', file:'', line: 1, column: 266
System.err:
System.err:
System.err: ReferenceError: HTMLElement is not defined
System.err:
System.err: StackTrace:
System.err: java.lang.RuntimeException: Unable to create application com.tns.NativeScriptApplication: com.tns.NativeScriptException: Error calling module function
System.err: ReferenceError: HTMLElement is not defined
System.err: File: "file:///node_modules/@vue/devtools/build/hook.js:517:28
System.err:
System.err: StackTrace:
System.err: Frame: function:'handleCopy', file:'file:///node_modules/@vue/devtools/build/hook.js:517:28
System.err: Frame: function:'clone', file:'file:///node_modules/@vue/devtools/build/hook.js:637:11
System.err: Frame: function:'', file:'file:///node_modules/@vue/devtools/build/hook.js:199:24
System.err: Frame: function:'on', file:'file:///node_modules/@vue/devtools/build/hook.js:145:11
System.err: Frame: function:'emit', file:'file:///node_modules/@vue/devtools/build/hook.js:179:17
System.err: Frame: function:'devtoolPlugin', file:'file:///node_modules/vuex/dist/vuex.esm.js:54:14
System.err: Frame: function:'Store', file:'file:///node_modules/vuex/dist/vuex.esm.js:356:4
System.err: Frame: function:'./store.js', file:'file:///app/store.js:6:15
System.err: Frame: function:'__webpack_require__', file:'file:///app/webpack/bootstrap:750:0
System.err: Frame: function:'fn', file:'file:///app/webpack/bootstrap:120:0
System.err: Frame: function:'', file:'file:///app/main.js:1:0
System.err: Frame: function:'./main.js', file:'file:///data/data/com.moscommodo.peak/files/app/bundle.js', line: 339, column: 30
System.err: Frame: function:'__webpack_require__', file:'file:///app/webpack/bootstrap:750:0
System.err: Frame: function:'checkDeferredModules', file:'file:///app/webpack/bootstrap:43:0
System.err: Frame: function:'webpackJsonpCallback', file:'file:///app/webpack/bootstrap:30:0
System.err: Frame: function:'', file:'file:///data/data/com.moscommodo.peak/files/app/bundle.js', line: 2, column: 57
System.err: Frame: function:'require', file:'', line: 1, column: 266
System.err:
System.err:
System.err: ReferenceError: HTMLElement is not defined
System.err: at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6465)
System.err: at android.app.ActivityThread.access$1300(ActivityThread.java:219)
System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1859)
System.err: at android.os.Handler.dispatchMessage(Handler.java:107)
System.err: at android.os.Looper.loop(Looper.java:214)
System.err: at android.app.ActivityThread.main(ActivityThread.java:7356)
System.err: at java.lang.reflect.Method.invoke(Native Method)
System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
System.err: Caused by: com.tns.NativeScriptException: Error calling module function
System.err: ReferenceError: HTMLElement is not defined
System.err: File: "file:///node_modules/@vue/devtools/build/hook.js:517:28
System.err:
答案 0 :(得分:12)
我找到了解决方案,更新了您的main.js
文件
import store from './store' // <= this should be before VueDevtools
import VueDevtools from 'nativescript-vue-devtools';
答案 1 :(得分:5)
@sidheart指出的解决方案有效,但是它不会让您观察商店。触发错误是因为NativeScript没有DOM,因此没有HTMLElement
的类型。临时解决方案是将以下行添加到文件new webpack.DefinePlugin({})
中webpack.config.js
定义的对象中:
HTMLElement: function() {
return false;
},
使整个对象看起来像这样:
new webpack.DefinePlugin({
'global.TNS_WEBPACK': 'true',
TNS_ENV: JSON.stringify(mode),
process: 'global.process',
HTMLElement: function() {
return false;
},
}),
感谢Brandon Gohsman在his article中展示了此解决方案。
答案 2 :(得分:3)
使用以下项目创建项目时
:vue init nativescript-vue/vue-cli-template <project-name>
不安装vue-devtools。我认为这与尝试访问Nativescript中不存在的DOM的vue-devtools有关。