質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Electron

Electronは、HTML5とNode.jsというWebの技術を用いてデスクトップアプリケーションを作成できるクロスプラットフォームな実行環境です。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

0回答

1713閲覧

ElectronでES6を使用するには?

退会済みユーザー

退会済みユーザー

総合スコア0

Electron

Electronは、HTML5とNode.jsというWebの技術を用いてデスクトップアプリケーションを作成できるクロスプラットフォームな実行環境です。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2019/10/10 12:57

編集2019/10/10 13:08

自分で作成したjavascriptのクラスをimportしようとするとエラーになってしまいました。
調べたところElectronでは、ES6のimportが使用できないとあったのですが、
使用している例もあるのを見かけます。
どのようにしてEs6を可能にしているのかが見つからず
どうすればimportできるのでしょうか?

他にもvueをimportしようとしても同様のエラーになりました。

エラー内容
myclass.js:1
Failed to load module script: The server responded with a non-JavaScript MIME type of "". Strict MIME type checking is enforced for module scripts per HTML spec.

index.js:1
Uncaught SyntaxError: Unexpected token {

** 環境**
Electronバージョン:6.0.4
Windows10

javascript

1// index.js 2import { MyClass } from "./myclass.js"; // <----エラーになる 3 4let myclass = new MyClass("name"); 5 6consol.log(myclass.myName());

javascript

1// myclass.js 2export class MyClass { 3 constructor(name) { 4 this.name = name; 5 } 6 myName() { 7 return this.name; 8 } 9}

html

1<!---index.html---> 2<!DOCTYPE html> 3<html> 4 <head> 5 <meta charset="UTF-8"> 6 <title>Hello World!</title> 7 </head> 8 <body> 9 Hello World! 10 <script type="module" src="./myclass.js"></script> 11 <script type="text/javascript" src="./index.js"></script> 12 </body> 13</html>

javascript

1// main.js 2const electron = require('electron'); 3const app = electron.app; 4const BrowserWindow = electron.BrowserWindow; 5 6let mainWindow = null; 7app.on('ready', () => { 8 9 mainWindow = new BrowserWindow( 10 { 11 width: 400, 12 height: 300, 13 webPreferences: { 14 webSecurity: false 15 } 16 }); 17 18 mainWindow.loadURL('file://' + __dirname + '/index.html'); 19 20 mainWindow.webContents.openDevTools(); 21 22 mainWindow.on('closed', function() { 23 mainWindow = null; 24 }); 25});
// package.json { "name": "importtest", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC", "devDependencies": { "electron": "^6.0.4" } }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問