javascript - 如何使用 ES6 模块导入导入路径

标签 javascript node.js ecmascript-6 strongloop

有没有什么好的方法可以使用动态路径优雅地加载模块(IDE 可以建议或进入文件)或从根目录开始导入模块?

import * as Q from 'q';
import * as loopback from 'loopback';
import datasources from '../../../datasources.json';
import app from '../../../server';
import {ApiError, ValidationError, DatabaseError} from'../../../utils/error-handlers';

最佳答案

模块标识符甚至不一定是路径。例如,它经常搜索 node_modules 文件夹。快速回答是语法取决于模块加载器。

但实用的答案是,如果您正在使用 Babel(因为您指定这是一个 ES6 导入,您可能会这样做),您可以指定一个相对于项目根目录的位置,并在开头使用“@”。例如,在我的 Vue.js 项目中,我有:

import PageFooter from '@/components/PageFooter'

在我的例子中,这可以避免在不同深度拥有复杂的嵌套组件树的问题。

在您的情况下,您可以:

import app from '@/server'

假设服务器位于项目根目录中(例如作为 server.js 而不是文件夹本身)。

关于javascript - 如何使用 ES6 模块导入导入路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32500927/

相关文章:

javascript - 使用 ajax 调用加载替换数据后清理先前的元素

javascript - 如何更改默认工具提示的位置和标题

SystemJS 中的 TypeScript 继承和循环依赖

javascript - Object.assign,仅值

javascript - Highstock 工具提示格式化程序无法显示额外数据

javascript - AJAX POST 浏览器历史记录

node.js - 通过 Digital Ocean 安装的 npm 被杀死

node.js - ExpressJS - Sequelize - 查询结果未填充到对象中

javascript - 使用firebase时如何添加后端业务逻辑?

javascript - 当前的 ES6 模块语法