繁体   English   中英

nodejs是否在webpack中提供诸如resolve.alias之类的选项

[英]Does nodejs provides options like resolve.alias in webpack

我使用resolve.alias消除较长的相对路径。

// webpack.config.js
module.exports = {
    // ...
    resolve: {
        alias: {
            services: __dirname + '/src/services',
            components: __dirname + '/src/components'
        },
}

// componentFoo.js
import ServiceBar from 'services/serviceBar'

但是,当我尝试使用av​​a运行测试时,节点找不到模块“ services / serviceBar”。

我的文件夹结构:
SRC
- 组件
---- componentFoo.js
- 服务
---- serviceBar.js
测试
--index.js

Node.js没有任何内置别名选项。 但是您可以使用babel插件babel-plugin-module-resolver定义别名,这应该很方便,因为AVA已经使用babel。

您需要将其添加到您的babel插件中:

"plugins": [
  ["module-resolver", {
    "alias": {
      "services": "./src/services",
      "components": "./src/components"
    }
  }]
]

这些路径是相对于babel配置的,除非您指定cwd选项( options列表 )。 另一种可能性是使用root选项,而不是别名,这是类似的WebPack的resolve.modules

"root": ["./src"]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM