どうせなら時計をiPhoneでも動かしてみたいって事で、javascriptをあーしてこーして動かしてみるの巻。
なんでiPhoneのSafariで動かないかって言うと、javascriptのバーションes2015は実行出来るもののモジュールのimportには対応していないからです。なのでモジュールを結合(バンドル)する必要があります。
es2015をes5にトランスパイルします、babelのお仕事です。それからwebpackを使ってバンドルします。んで、iPhoneでも動くヤツ。
スクリプトは書き換えてないので、マウスオーバー(rollover)が動きません。スマホにマウスはありませんから…。

以降は設定もろもろ。
トランスパイルとバンドルに必要なbabelとwebpackの準備
> npm i -D @babel/core @babel/preset-env @babel/plugin-proposal-class-properties
> npm i -D webpack webpack-cli copy-webpack-plugin babel-loader
webpack.config.jsの中身
const path = require("path");
const CopyWebpackPlugin = require("copy-webpack-plugin");
let copyWebpack_client = new CopyWebpackPlugin({
patterns: [
{
from: "./**/*.{html,css}",
to: "./",
context: "./src",
},
],
});
let babel_transpile = {
loader: 'babel-loader',
options: {
presets: [
'@babel/preset-env',
],
plugins:[
'@babel/plugin-proposal-class-properties',
]
}
}
let for_client ={
target: "web",
mode: "production",
entry: {"main":"./src/main.js"},
output:{
path: path.resolve(__dirname,"dist"),
filename: "[name].js"
},
module: {
rules: [
{
test: /\.js$/,
use: [babel_transpile]
}
]
},
plugins: [copyWebpack_client]
};
module.exports = () => {
return [for_client]
}
このあたりWebStorm IDEがよしなにやってくれないんでしょうか?ここまでやるとVS codeと手間は変わらない気がする。