前端架构师-week3-Node项目如何支持ES Module

这篇具有很好参考价值的文章主要介绍了前端架构师-week3-Node项目如何支持ES Module。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

方案一:

通过 webpack 完成 ES Module 资源构建

通过 webpack target 属性支持 Node 内置库

webpack loader 配置 babel-loader 支持低版本 Node 

方案二:

通过Node原生支持ES Module

Node 支持 ES Module 的两种方法 总结


方案一:

通过 webpack 完成 ES Module 资源构建

npm install -D webpack webpack-cli

    根目录下创建 webpack.config.js文章来源地址https://www.toymoban.com/news/detail-460787.html

// 编辑 webpack.config.js

const path = require('path');

module.exports = {
  entry: './bin/core.js',
  output: {
    path: path.join(__dirname, '/dist'),
    filename: 'core.js',
  },
  mode: 'development'
}
// 修改 package.json 中的命令

"scripts": {
    "build": "webpack",
    "dev": "webpack -w"
  },
// bin/index.js 文件内容

#!/usr/bin/env node

require('../dist/core')

通过 webpack target 属性支持 Node 内置库

module.exports = {
  entry: './bin/core.js',
  output: {
    path: path.join(__dirname, '/dist'),
    filename: 'core.js',
  },
  mode: 'development',
  target: 'node'         // 增加
}

webpack loader 配置 babel-loader 支持低版本 Node 

npm install -D babel-loader @babel/core @babel/preset-env
module.exports = {
  ......
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: [ '@babel/preset-env' ],
            plugins: [
              [
                '@babel/plugin-transform-runtime',  // 转译async await
                {
                  corejs: 3,           // corejs版本
                  regenerator: true,
                  useESModules: true,
                  helpers: true,
                },
              ],
            ],
          },
        },
      },
    ],
  },
};
npm install -D @babel/plugin-transform-runtime
npm install -D @babel/runtime-corejs3

方案二:

通过Node原生支持ES Module

// 文件名   index.mjs
// 文件内容 import './core.mjs'
/* node8 以后支持实验功能 */
node --experimental-modules bin/index.mjs

/* node14 以后正式支持 */
node bin/index.mjs

Node 支持 ES Module 的两种方法 总结

到了这里,关于前端架构师-week3-Node项目如何支持ES Module的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 剑指offer题解合集——Week3day6

    题目链接:栈的压入、弹出序列 AC代码 思路: 整体思路 题目链接:不分行从上往下打印二叉树 AC代码 思路: 整体思路

    2024年01月19日
    浏览(44)
  • 【WEEK3】 【DAY3】JSON交互处理第二部分【中文版】

    2024.3.13 Wednesday 接上文【WEEK3】 【DAY2】JSON交互处理第一部分【中文版】 上一种方法比较麻烦,如果项目中有许多请求则每一个都要添加,可以通过Spring配置统一指定,这样就不用每次都处理乱码了。可以在springmvc的配置文件上添加一段消息StringHttpMessageConverter转换配置。 修

    2024年04月08日
    浏览(42)
  • 【北邮国院大三下】Cybersecurity Law 网络安全法 Week3

    北邮国院大三电商在读,随课程进行整理知识点。仅整理PPT中相对重要的知识点,内容驳杂并不做期末突击复习用。个人认为相对不重要的细小的知识点不列在其中。如有错误请指出。转载请注明出处,祝您学习愉快。 编辑软件为Effie,如需要pdf/docx/effiesheet/markdown格式的文件

    2024年02月11日
    浏览(40)
  • 【WEEK3】 【DAY2】JSON交互处理第一部分【中文版】

    2024.3.12 Tuesday JSON (JavaScript Object Notation, JS 对象标记) 是一种 轻量级的数据交换格式 ,目前使用特别广泛。 采用完全独立于编程语言的文本格式来存储和表示数据。 简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,

    2024年03月20日
    浏览(76)
  • 前端架构师-week4-脚手架命令注册和执行过程开发

    基于 Commander 完成脚手架命令注册和命令执行过程开发 ·如何设计高性能脚手架(缓存 + 多进程 实现这一点) ·Node 多进程开发 ·javascript 面向对象的实战技巧(达到可扩展 高复用) ·图解高性能脚手架架构设计方法 ·封装通用的 Package 和 Command 类 ·基于缓存 + Node 多进程实现

    2024年02月01日
    浏览(53)
  • 前端架构师-week4-封装通用的npm包管理类Package

    目录 脚手架命令本地调试功能支持 动态执行库exec模块创建 创建 npm 模块通用类 Package Package 类的属性、方法定义及构造函数逻辑开发 Package 类获取入口文件路径功能开发(pkg-dir应用+解决不同操作系统路径兼容问题)  利用 npminstall 库安装 npm 模块 Package 类判断模块是否存在

    2024年02月03日
    浏览(38)
  • 前端子项目共用node_modules

    项目目录结构如下 首先按上面的结构新建三个项目,有一定前端经验的都知道怎么处理,我就不多介绍了。 1,子项目1     package.json如下,我只安装了vue index.js如下 2,子项目2    package.json如下,我安装了vue 和axios 3,在安装完依赖后,把子项目1和子项目2中的node_modules删除

    2024年02月03日
    浏览(39)
  • node.js+NPM包管理器+Webpack打包工具+前端项目搭建

    javascript运行环境(无需依赖html文件) BFF,服务于前端的后端 官网下载安装,node -v查看是否安装成功 ①、创建一个01.js文件 ②、通过CMD命令执行(或者通过工具的集成终端) node 01.js 如果出现权限原因,可以通过管理员方式打开工具 ③、通过浏览器访问http://127.0.0.1:8888 如

    2024年02月07日
    浏览(71)
  • 【Node.js】如何修复“错误:错误:0308010c:digital envelope routines::不受支持”

    作为一名开发人员,在项目中遇到错误是很常见的。在这篇博客文章中,我们将讨论一个困扰开发人员的特定错误,尤其是那些使用Node.js的开发人员。有问题的错误是“错误:错误:0308010c:数字信封例程::不受支持”,正如承诺的那样,我们将为您提供所有可能的修复方法

    2024年02月05日
    浏览(57)
  • 前端vue和node后端项目部署到云服务器(详解)

    前言:我是一名大三在校生,选修的专业是软件工程,然后主要学前端方向,作为一个前端程员,自己也想有自己的网站,然后被大家浏览,我觉得这是对自己能力的肯定,也是自我提升的一种方法,所以我学习了nodejs,利用nodejs作为项目的后端,然后结合前端最流行的框架

    2024年02月03日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包