fex-team/fis3-hook-node_modules

无法加载npm的模块

Opened this issue · 5 comments

te.html片断:

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>test request</title>
    <script src="static/mod.js"></script>
</head>
<body>

<script>
    require("./index");
</script>

</body>
</html>

index.es6文件:

var lodash = require("lodash");

console.log(lodash);

fis3的config配置:

fis.set('project.files', [
    '/te.html'
]);

fis.set('project.ignore', [
    'fis-conf.js',
    'package.json',
    '.git/**',
    '.svn/**',
    'output/**'
]);

fis.hook('commonjs')

fis.match('/{node_modules}/**.js', {
    isMod: true,
    useSameNameRequire: true
});

fis.unhook('components')

fis.hook('node_modules', {
    shimBuffer: false
})

fis.match('::package', {
    postpackager: fis.plugin('loader', {
        resourceType: "mod",
        useInlineMap: true
    })
});

fis.match('*.es6', {
    isMod: true,
    useSameNameRequire: true,
    parser: fis.plugin('babel'),
    rExt: '.js'
});

报错信息:

image

image

事实上我node_modules里面是有的。

package.json文件:

{
  "name": "app",
  "version": "1.0.0",
  "description": "",
  "main": "",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "dependencies": {
    "lodash": "^4.15.0",
    "uglify-js": "^2.7.3"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "fis3-parser-babel": "^1.1.2",
    "fis3-hook-node_modules": "^2.2.8"
  }
}

node版本:6.2.2
npm版本:3.10.6
fis版本:3.4.22

请问是哪里有问题?

我遇到同样的问题,求解

楼主遇到的问题是不是在windows下的,应该是windows路径的问题,在mac正常

@diamont1001 在mac上的。。

@henryzp 升级一下fis3

在 window 10 上, npm install 安装后的 node_modules 里的内容使用的是软链接, 此时 这个模块就无法找到相应的 js 文件了, 请作者能针对此问题进行修正.