terrierscript
3/15/2016 - 1:58 PM

javascriptビルドツールなどで相対パス地獄(../../)を解決する方法まとめ ref: https://qiita.com/terrierscript/items/daa9cd33f3adaf72db68

javascriptビルドツールなどで相対パス地獄(../../)を解決する方法まとめ ref: https://qiita.com/terrierscript/items/daa9cd33f3adaf72db68

[options]

module.system.node.resolve_dirname=./node_modules
module.system.node.resolve_dirname=./src
{
    "baseUrl": "./src"
}
NODE_PATH=src/ ava ./test
NODE_PATH=src/ mocha ./test
import includePaths from 'rollup-plugin-includepaths';

let includePathOptions = {
    include: {},
    paths: ['src'],
};

export default {
    entry: './src/index.js',
    dest: 'build/index.js',
    plugins: [ includePaths(includePathOptions) ],
};
browserify("src/index.js", {
  paths:[
    "./node_module", "./src"
  ]
}).bundle(function(err, out){
  // out.toStirng() とかでコード取れる
})
NODE_PATH=./some/lib browserify -e src/index.js -o build/index.js
module.exports = {
  entry: "./src/index.js",
  // resolve.rootで指定
  resolve: {
    root: [
      path.join(__dirname, "./src")
    ]
  },
  module: {
    loaders: [
      {
        test: /^src\/.*\.js$/,
        include: [
          path.resolve(__dirname, "src"),
        ],
        loader: "babel-loader"
      }
    ]
  }
}
import baz from "foo/baz"
.
└── src
    ├── foo
    │   └── baz.js
    └── index.js