0

我正在使用django-compressor,我想在我的项目中使用es5/es6功能。我将预编译器选项设置如下:

NODE_MODULES = BASE_DIR / 'node_modules'

COMPRESS_PRECOMPILERS = (
    ('text/javascript',
     'browserify {{infile}} -t {node_modules}/babelify  -o {{outfile}} --presets {node_modules}/@babel/preset-env'.format(node_modules=NODE_MODULES)),
    ('module',
     'browserify {{infile}} -t {node_modules}/babelify -o {{outfile}} --presets {node_modules}/@babel/preset-env'.format(node_modules=NODE_MODULES)),
)

正如您所注意到的, browserify是全局安装的,而babelify@babel/preset-env是在项目中本地安装的。

现在从文档@babel/preset-env中推荐使用的预设,但我收到以下错误:

ParseError: 'import' and 'export' may appear only with 'sourceType: module'

据我了解,当使用babel/preset-env时,您不需要任何其他前面的预设,例如babel-preset-es2015等,对吗?如果是,这个问题的可能原因是什么?

4

1 回答 1

0

尽管该命令运行良好,但在我如何指定预设方面似乎存在语法错误,无论如何我已经修复了这样的问题:

COMPRESS_PRECOMPILERS = (
    ('text/javascript',
     'browserify {{infile}} -o {{outfile}} -t [ {node_modules}/babelify --presets [ {node_modules}/@babel/preset-env ] ]'.format(node_modules=NODE_MODULES_LOCAL)),
    ('module',
     'browserify {{infile}} -o {{outfile}} -t [ {node_modules}/babelify --presets [ {node_modules}/@babel/preset-env ] ]'.format(node_modules=NODE_MODULES_LOCAL)),

)
于 2021-01-17T13:41:42.610 回答