【问题标题】:Import files from outside the project从项目外部导入文件
【发布时间】:2016-11-09 03:27:06
【问题描述】:

我正在编写两个项目,都是用 js。使用了 webpack 和 babel。 我想创建文件夹common,其中将包含每个项目中使用的文件。例如一些常量等。

所以我有这样一个结构:

|- project
    |- server
        |- config
           |- webpack.config.js
        |- package.json
        |- .babelrc
        |- ...
    |- client
        |- config
           |- webpack.config.js
        |- package.json
        |- .babelrc
        |- index.js
        |- ...
    |- common
        |- constants
            |- http-codes.js

但是,似乎无法在项目之外导入文件。例如。在client/index.js:import * from '../common/constants/http-codes.js' 中不可能进行这样的导入

您对如何进行这样的导入有任何想法吗?


更新:

文件:

common/constants/http-codes.js:

export const SUCCESS = 200;
...

client/index.js:

import { SUCCESS } from 'common/constants/http-codes.js';
...
console.log(SUCCESS);

client/config/webpack.config.js:

...
const PATHS = {
    app: path.resolve(__dirname, '../'),
    build: path.resolve(__dirname, '../build'),
    common: path.resolve(__dirname, '../../common')
};
...
module.exports = {
    resolve: {
        extensions: [ '', '.js', '.jsx', '.styl' ],
        alias: {
            ...,
            common: PATHS.common
        }
    },
    ...
}

【问题讨论】:

  • 'common/constants/http-codes.js'; 不应该是'../common/constants/http-codes.js'; 吗?
  • @saadq,一定不是因为我用过webpack的别名。

标签: javascript import ecmascript-6 webpack babeljs


【解决方案1】:

您是否尝试过使用 nodejs 中的 path 模块?

【讨论】:

  • 在 webpack 配置中使用。但这无济于事。
  • 尝试使用 normalize 方法,添加 ../../ 等。
  • 尝试在 index.js 文件中使用path.normalize('../common/constants/http-codes.js')
猜你喜欢
  • 2021-01-03
  • 2019-06-12
  • 2018-03-12
  • 1970-01-01
  • 2011-02-11
  • 1970-01-01
  • 2017-07-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多