首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用webpack的捆绑包环回

使用webpack的捆绑包环回
EN

Stack Overflow用户
提问于 2020-04-27 18:32:34
回答 1查看 220关注 0票数 0

我正在使用"webpack": "^4.43.0"捆绑我的loopback-3应用程序。我可以没有任何问题地运行webpack命令,它可以执行,但在运行捆绑的文件后,我得到以下错误:

Error: ENOENT: no such file or directory, lstat 'D:\cldr'

以下是webpack.conf.js的内容:

代码语言:javascript
复制
const path = require('path');
const LoopbackBootPlugin = require('loopback-webpack-plugin');

module.exports = {
  target: 'node',
  entry: './server/server.js',
  mode: 'production',
  resolve: {
    extensions: ['.js', '.json'],
  },
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: `bundle.js`,
  },
  optimization: {
    minimize: false
  },
  plugins: [
    new LoopbackBootPlugin()
  ]
};

我试着添加

代码语言:javascript
复制
alias: {
      cldr$: 'cldrjs',
      cldr: 'cldrjs/dist/cldr'
    }

要解决属性,但仍然不能正常工作。

EN

回答 1

Stack Overflow用户

发布于 2020-05-07 19:28:42

来自LoopBack团队的问候

LoopBack暂不支持通过Webpack捆绑,仅支持Browserify

在启动时,LoopBack使用动态路径加载文件,因此它需要与捆绑程序进行自定义集成,以确保动态加载的工件包含在浏览器捆绑包中,并且可以通过环回引导加载。

来自https://loopback.io/doc/en/lb3/Using-Browserify.html的交叉发布

构建步骤加载所有配置文件,合并来自其他配置文件(如app.local.js)的值,并生成一组可用于引导应用程序的指令。

这些说明必须与来自models/boot/的所有配置脚本一起包含在浏览器捆绑包中。

别担心,你不需要理解这些细节。只要给boot.compileToBrowserify()打电话,它就会帮你处理所有的事情。

代码语言:javascript
复制
var browserify = require('browserify');
var boot = require('loopback-boot');

var b = browserify({
  basedir: appDir,
});

// add the main application file
b.require('./browser-app.js', { expose: 'loopback-app' });

// add boot instructions
boot.compileToBrowserify(appDir, b);

// create the bundle
var out = fs.createWriteStream('browser-bundle.js');
b.bundle().pipe(out);
// handle out.on('error') and out.on('close')

您可以在loopback-boot/lib/bundler.js中找到compileToBrowserify的源代码。我认为应该可以将脚本改编为使用Webpack而不是Browserify API,但我从未尝试过,因此YMMV‍♂️

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61456834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档