Javascript 如何在rollup+;buble设置?

Javascript 如何在rollup+;buble设置?,javascript,reactjs,rollup,rollupjs,preact,Javascript,Reactjs,Rollup,Rollupjs,Preact,我有一个preact应用程序,它使用rollup+buble。我需要使用另一个使用React的组件。我正在尝试在汇总生成文件中创建别名。对于客户端,它可以完美地工作,但是在服务器端构建时,它失败了。我的汇总构建配置中的插件部分如下所示:- plugins: [ alias({ 'react': path.resolve('./node_modules/preact-compat/dist/preact-compat.es.js'), 'react-dom': pa

我有一个preact应用程序,它使用rollup+buble。我需要使用另一个使用React的组件。我正在尝试在汇总生成文件中创建别名。对于客户端,它可以完美地工作,但是在服务器端构建时,它失败了。我的汇总构建配置中的插件部分如下所示:-

plugins: [
    alias({
      'react': path.resolve('./node_modules/preact-compat/dist/preact-compat.es.js'),
      'react-dom': path.resolve('./node_modules/preact-compat/dist/preact-compat.es.js')
    }),
    nodeResolve({ jsnext: true, browser: true }),
    commonjs({ include: ['node_modules/**'], namedExports: { 'preact-redux': ['connect', 'Provider'] } }),
    replace({ '__CLIENT__': true, 'process.env.NODE_ENV': JSON.stringify('production') }),
    images,
    buble({ jsx: 'h', objectAssign: 'Object.assign' }),
    !isDev && uglify(uglifyConfig) // uglify slows builds
  ]
我遇到一个问题,它说在服务器端应用程序上使用preact compat时存在问题,并建议使用模块别名作为替代。因此,我尝试在节点服务器文件中提供以下模块别名:-

require('module-alias').addAliases({
  'react': 'preact-compat',
  'react-dom': 'preact-compat'
})
即使这样做了,我仍然会得到以下错误:-

Error: Cannot find module 'react'
    at Function.Module._resolveFilename (module.js:470:15)
    at Function.Module._load (module.js:418:25)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)
    at r (/my-app/node_modules/react-text-mask/dist/reactTextMask.js:1:145)
    at Object.<anonymous> (/my-app/node_modules/react-text-mask/dist/reactTextMask.js: 1:315)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
错误:找不到模块“react”
在Function.Module.\u解析文件名(Module.js:470:15)
在Function.Module.\u加载(Module.js:418:25)
at Module.require(Module.js:498:17)
根据需要(内部/module.js:20:19)
在r(/my-app/node\u modules/react-text-mask/dist/reactTextMask.js:1:145)
反对。(/myapp/node_modules/react text mask/dist/reactextmask.js:1:315)
在模块处编译(模块js:571:32)
在Object.Module.\u extensions..js(Module.js:580:10)
在Module.load(Module.js:488:32)
在tryModuleLoad时(module.js:447:12)

带有模块别名的别名部分应位于服务器代码的最开头。@thangngoc89位于我的节点服务器文件的开头。如果没有代码的详细信息,我不知道如何修复此问题。没有react文本掩码它能工作吗?我是通过在
package.json
上注册别名来工作的,使用
.addAlias({…})
idk没有运气why@AlfredCrosby仍然无法让它工作。您可以分享一下package.json文件中的别名吗。路径结构在这方面重要吗?你在哪里连接了下面的注册<代码>要求(“模块别名/寄存器”)