Javascript 如何将es5 require转换为es6 import
我正在使用Javascript 如何将es5 require转换为es6 import,javascript,webpack,ecmascript-6,Javascript,Webpack,Ecmascript 6,我正在使用webpack和svg url loader将svg文件加载到我的react应用程序中。但重要的是,我想将这个ES5需求转换为ES6导入。以下是要求: require('!!svg-url-loader?noquotes!../images/mustachio.svg') 我提出了这个重要声明: import mustachio from '!!svg-url-loader?noquotes!../images/mustachio.svg' 但是,难道没有更干净的方法来实现这一点吗
webpack
和svg url loader
将svg文件加载到我的react应用程序中。但重要的是,我想将这个ES5需求转换为ES6导入。以下是要求:
require('!!svg-url-loader?noquotes!../images/mustachio.svg')
我提出了这个重要声明:
import mustachio from '!!svg-url-loader?noquotes!../images/mustachio.svg'
但是,难道没有更干净的方法来实现这一点吗?网页包加载器可能就是您想要的。如果没有,别名也可能有帮助 例如:网页包配置中的加载程序配置可能如下所示
装载机:[
{test:/\.css$/,loader:'style loader!css loader'},
{test:/\.less$/,loader:'style loader!css!less'},
{test://\.svg$/,loader:'url?limit=65000&mimetype=image/svg+xml&name=css/[name].[ext]'},
{test://\.woff$/,loader:'url?limit=65000&mimetype=application/font-woff&name=css/[name].[ext]'},
{test:/\.woff2$/,加载程序:'url?limit=65000&mimetype=application/font-woff2&name=css/[name].[ext]'},
{test:/\.[ot]tf$/,loader:'url?limit=65000&mimetype=application/octet-stream&name=css/[name].[ext]'},
{test:/\.eot$/,loader:'url?limit=65000&mimetype=application/vnd.ms fontobject&name=css/[name].[ext]'},
{
测试:/.jsx?$/,,
加载器:“巴别塔加载器”,
排除:/node_模块/,
查询:
{
预设:['es2015'、'react'、'stage-0'],
插件:['transform-runtime','transform decorators legacy']
}
}
]
网页包加载器可能就是您想要的。如果没有,别名也可能有帮助
例如:网页包配置中的加载程序配置可能如下所示
装载机:[
{test:/\.css$/,loader:'style loader!css loader'},
{test:/\.less$/,loader:'style loader!css!less'},
{test://\.svg$/,loader:'url?limit=65000&mimetype=image/svg+xml&name=css/[name].[ext]'},
{test://\.woff$/,loader:'url?limit=65000&mimetype=application/font-woff&name=css/[name].[ext]'},
{test:/\.woff2$/,加载程序:'url?limit=65000&mimetype=application/font-woff2&name=css/[name].[ext]'},
{test:/\.[ot]tf$/,loader:'url?limit=65000&mimetype=application/octet-stream&name=css/[name].[ext]'},
{test:/\.eot$/,loader:'url?limit=65000&mimetype=application/vnd.ms fontobject&name=css/[name].[ext]'},
{
测试:/.jsx?$/,,
加载器:“巴别塔加载器”,
排除:/node_模块/,
查询:
{
预设:['es2015'、'react'、'stage-0'],
插件:['transform-runtime','transform decorators legacy']
}
}
]
您应该使用默认的webpack require
require(“!!svg url加载器?noquotes../images/mustachio.svg”)
您应该使用默认的网页包require
require(“!!svg url加载器?noquotes!”。/images/mustachio.svg”)
你说的“清洁剂”是什么意思?没有比从“xyz”导入abc更干净的导入了。模块字符串的格式由模块加载器决定,而不是由es6导入决定。mustachio
来自哪里?ES5要求中没有变量,只是它的工作方式。不管怎样,我知道了。你说的清洁剂是什么意思?没有比从“xyz”导入abc更干净的导入了。模块字符串的格式由模块加载器决定,而不是由es6导入决定。mustachio
来自哪里?ES5要求中没有变量,只是它的工作方式。不管怎样,我知道了。谢谢你!我以前也有过这样的功能,但它不起作用,因为我没有使用noquotes
选项。我应该删除我的问题吗?谢谢!我以前也有过这样的功能,但它不起作用,因为我没有使用noquotes
选项。我应该删除我的问题吗?