2017-01-05 125 views
1

我正在尝试将rollup.js合并到项目中。目前,我正在在控制台(未解决的依赖)下面提供的警告,我不知道为什么或如何解决它:Rollup.js未解决的依赖项

'fs' is imported by node_modules\filereader\FileReader.js, but could not be resolved – treating it as an external dependency 

'fs' is imported by commonjs-external:fs, but could not be resolved – treating it as an external dependency 

preferring built-in module 'punycode' over local alternative at 'C:\Users\Ryan\OneDrive\Projects\Custom Coding\Zapier\Ryan Test\node_modules\punycode\punycode.js', pass 'preferBuiltins: false' to disable this behavior or 'preferBuiltins: true' to disable this warning 

preferring built-in module 'punycode' over local alternative at 'C:\Users\Ryan\OneDrive\Projects\Custom Coding\Zapier\Ryan Test\node_modules\punycode\punycode.js', pass 'preferBuiltins: false' to disable this behavior or 'preferBuiltins: true' to disable this warning 

这里是test.js脚本需要的FileReader和https:

var FileReader = require('filereader'); 
var https = require('https'); 

最后rollup.config.js文件,该文件执行创建包:

var rollup = require('rollup'); 

var commonjs = require('rollup-plugin-commonjs'); 
var nodeResolve = require('rollup-plugin-node-resolve'); 
var globals = require('rollup-plugin-node-globals'); 
var builtins = require('rollup-plugin-node-builtins'); 

// build bundle 
rollup 
    .rollup({ 
    entry: 'test.js', 
    plugins: [ 
     nodeResolve(), 
     commonjs(), 
     globals(), 
     builtins() 
    ] 
    }) 
    .then(bundle => bundle.write({ 
    dest: 'rollupBundle/bundle.js', 
    format: 'cjs' 
    })) 
    .catch(err => console.log(err.stack)); 

回答

2

的CLI会产生更多的信息警告 - 如果你更新你的配置文件,以使用STA ndard表单,那么您可以使用rollup -c来代替,它通常会为您提供一个帮助诊断问题的URL。

这里有必要改变一个配置文件来压制这些警告:

import commonjs from 'rollup-plugin-commonjs'; 
import nodeResolve from 'rollup-plugin-node-resolve'; 
import globals from 'rollup-plugin-node-globals'; 
import builtins from 'rollup-plugin-node-builtins'; 

export default { 
    entry: 'test.js', 
    dest: 'rollupBundle/bundle.js', 
    format: 'cjs', 
    external: [ 'fs' ], // tells Rollup 'I know what I'm doing here' 
    plugins: [ 
    nodeResolve({ preferBuiltins: false }), // or `true` 
    commonjs(), 
    globals(), 
    builtins() 
    ] 
}; 
+0

感谢丰富,我认为这会工作。 –

+0

任何想法,为什么我会得到一个错误,说https没有基于上述定义?这不是汇总错误,而是来自我试图部署的环境的错误。 –

+0

很难说没有repro来调查,对不起 –