0%

项目升级es6

本文主要记录 require 升级为 import 遇到的问题

__dirname is not defined in ES module scope

1
2
3
4
5
6
7
8
9
10
11
12
import path from 'path';
import {fileURLToPath} from 'url';

const __filename = fileURLToPath(import.meta.url);

// 👇️ "/home/john/Desktop/javascript"
const __dirname = path.dirname(__filename);
console.log('directory-name 👉️', __dirname);

// 👇️ "/home/borislav/Desktop/javascript/dist/index.html"
console.log(path.join(__dirname, '/dist', 'index.html'));

import json file

1
2
import json from "./foo.json" assert { type: "json" };
import("foo.json", { assert: { type: "json" } });

import 条件导入

1
2
3
4
if (condition) { // 报错
import moduleA from './moduleA';
}

import 函数

1
2
3
4
5
import('./moduleA .js')
.then(moduleA => {
console.log(moduleA);
});

1
2
3
4
if(condition){
import('moduleA').then(...);
}

坚持技术分享,您的支持将鼓励我继续创作!

欢迎关注我的其它发布渠道